最近一直在做关于unit test方面的工作,使用的是Moq中的Mock方法。之前自学的时候在网上看的教程云里雾里,在工作过程中有的方法通过实验和询问同事终于搞懂了一些,现在把自己使用到的方法记录下来,持续更新
var test = new Mock<ITest>();
test.Setup(x=>x.testvalue).Returns(value_want);
test是Mock的一个interface,testvalue是其内部定义的一个变量,value_want是当我们调用这个变量时希望他呈现出的值。
var test = new Mock<ITest>();
test.Setup(x=>x.function(It.IsAny<Ttype>())).Returns(value_want);
test是Mock的一个interface,function是其内部定义的一个函数,value_want是当我们调用这个函数时希望他返回的值。Ttype是这个函数要求输入参数的类型。(如果有多个输入参数,就用逗号链接)
var test = new Mock<ITest>();
bool enable = false;
test.Setup(x=>x.function(It.IsAny<Ttype>())).Callback<Ttype>(x=> enable = true);
test是Mock的一个interface,function是其内部定义的一个函数,Ttype是这个函数要求输入参数的类型,x=>后面的内容是当我们调用这个函数时希望他进行的动作。需要注意一点,如果使用这个写法,那么被测试内容中function函数之后的部分将不会被继续执行。