博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MOQ TIP2:匹配参数
阅读量:5890 次
发布时间:2019-06-19

本文共 917 字,大约阅读时间需要 3 分钟。

在MOQ中,It用于添加参数约定,它有以下几个方法:

Is<T>:匹配确定的给定类型

IsAny<T>:匹配给定的任何值

IsInRange<T>:匹配给定类型的范围

IsRegex<T>:正则匹配

还是以上文中的例子:

public abstract class CounterBase    {        public abstract int CountArgs(int a, int b);    }

测试代码:

Mock
mock = new Mock
(); mock.Setup(arg => arg.CountArgs(It.IsAny
(), It.IsAny
())).Returns(3); Assert.AreEqual(3, mock.Object.CountArgs(1, 2)); Assert.AreEqual(3, mock.Object.CountArgs(4, 6));

我们可以看到,这段代码完成的意思是,对于任何输入,输出都是3。

再看下面这段代码:

Mock
mock = new Mock
(); mock.Setup(arg => arg.CountArgs(It.IsAny
(), It.Is
((i) => i < 100))).Returns(3); Assert.AreEqual(3, mock.Object.CountArgs(1, 2)); Assert.AreEqual(0, mock.Object.CountArgs(4, 612));

这表示,对于第二个参数如果小于2,则输出3,否则默认输出(即int的默认值0);

其它两则类似,不再举例。

转载地址:http://xcfsx.baihongyu.com/

你可能感兴趣的文章
Object-c学习之路二(oc内存管理黄金法则1)
查看>>
python开发_python文件操作
查看>>
iPhone 已停用
查看>>
CSS3之边框图片border-image
查看>>
图片轮换cycle插件的运用
查看>>
【Oracle】两个表Join关联更新
查看>>
ActiveX控件的安全初始化和脚本操作 和 数字签名SIGN
查看>>
Eclipse console文本换行
查看>>
微信支付开发(11) Native支付
查看>>
HDFS dfsclient写文件过程 源码分析
查看>>
【设计模式】—— 代理模式Proxy
查看>>
ejabberd
查看>>
博客园博客自动生成三级目录(generate three levels content using JS in cnblogs)
查看>>
联通高管频频出走:通信业已成鸡肋?
查看>>
关于多线程的那些事
查看>>
js 将json字符串转换为json对象的方法解析
查看>>
1. Two Sum
查看>>
让浏览器不再显示 https 页面中的 http 请求警报
查看>>
hdu4893Wow! Such Sequence! (线段树)
查看>>
Android 最简单的SD卡文件遍历程序
查看>>