当前位置: 首页 > 工具软件 > moq > 使用案例 >

c# 关于Moq的使用细节

姜献
2023-12-01

c# 关于Moq的使用细节

最近一直在做关于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函数之后的部分将不会被继续执行。

 类似资料: