c# - 使 RhinoMock Stub 返回值依赖于参数
问题描述
是否可以为 RhinoMock 存根设置“默认”返回值?
例如:我有一个int
从 1-175 接收并返回布尔值的方法:
internal bool myFunction(int number)
我想在 Rhino Mock 中存根它,这样它只true
在number
2 或 3 时返回,否则返回 false:
myClass.Stub(x => x.MyFunction(2)).Return(true);
myClass.Stub(x => x.MyFunction(3)).Return(true);
// return false otherwise
但是,如果我在测试中通过任何其他 int(例如 100),该函数也将返回 true。除了我上面列出的两种情况外,我希望它在所有情况下都返回 false。我怎样才能做到这一点?
解决方案
用于Do
提供可以访问输入参数的方法实现
myClass.Stub(_ => _.MyFunction(Arg<int>.Is.Anything))
.Do((Func<int, bool>)(number => {
return number == 2 || number == 3;
}));
推荐阅读
- r - 如何将非 R 对象与 R 对象一起“序列化”
- reactjs - 将 p5.Sound 导入/使用到 React
- jmeter - 从 Jmeter 中的 CSV 文件读取问题
- vba - Excel VBA:根据单元格值添加/删除行;Offset() 的问题
- computer-vision - 用 OpenCV 将人脸与人脸照片区分开来
- java - 从 for 循环中检索特定值
- java - 客户端发送JSP页面请求后.class文件是否被删除?
- c# - 为 MS Access 组合两个 .dll
- excel - VBA网络循环
- c# - 为win10-x64运行时发布应用程序,dll获取VersionInfo.cs文件信息而可执行文件没有,为什么?