这一章是最后一讲,我们讲一下Moq
中值得注意的小技巧,以及对Moq
使用的评价
MockBehavior
:伪对象行为
在使用Moq
创建伪对象时,可以在构造函数里传入MockBehavior
MockBehavior
有了两种:
Loose
:默认行为,任何未显示伪造的方法和属性都会返回默认值,且不会抛出异常。Strict
: 任何调用都需要显式Setup
,并使用VerifyAll
验证。
什么意思呢?如下图所示,你要验证公共方法A
,A中做了T.B()
和T.C()
两件事。
public void A()
{
Name = T.B();
Age = T.C();
}
Loose
允许你测试A
时只伪造方法B
,并验证Name
状态,
Strict
要求必须同时伪造方法B
和C
,否则会抛出异常。
同样,另一方面,如果后期方法A
又调用了一个T.D()
,那么前者的测试会过,后者会失败,提醒用户修改测试。
至于选择&