单元测试 – 模拟对象 – 设置方法 – 测试驱动开发
发布时间:2020-12-14 04:29:45 所属栏目:百科 来源:网络整理
导读:我正在学习测试驱动开发,并试图使用Moq库进行嘲笑。 Mock类的安装方法的目的是什么? Moq Mock对象的默认行为是存放所有方法和属性。这意味着使用任何参数调用该方法/属性不会失败,并返回特定返回类型的默认值。 由于以下任何或全部原因,您可以调用安装方
我正在学习测试驱动开发,并试图使用Moq库进行嘲笑。 Mock类的安装方法的目的是什么?
Moq Mock对象的默认行为是存放所有方法和属性。这意味着使用任何参数调用该方法/属性不会失败,并返回特定返回类型的默认值。
由于以下任何或全部原因,您可以调用安装方法: >你想限制输入值到方法。 public interface ICalculator { int Sum(int val1,val2); } var mock = new Mock<ICalculator>(); mock.Setup(m=>m.Sum( It.IsAny<int>(),//Any value 3 //value of 3 )); 上述设置将匹配对方法Sum的调用,val1和val2的值为3的任何值。 >你想要返回一个特定的值。继续使用ICalculator示例,无论输入参数如何,以下设置都将返回值为10: var mock = new Mock<ICalculator>(); mock.Setup(m=>m.Sum( It.IsAny<int>(),//Any value It.IsAny<int>() //Any value )).Returns(10); >您设置后要使用Mock< T> .VerifyAll()来验证所有以前的设置是否已被调用(一次)。 var mock = new Mock<ICalculator>(); mock.Setup(m=>m.Sum( 7,//value of 7 3 //value of 3 )); mock.Setup(m=>m.Sum( 5,//value of 5 3 //value of 3 )); mock.VerifyAll(); 上面的代码验证了Sum被调用了两次。一次(7,3)和一次(5,3)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |