我已经使用moq进行一段时间的模拟测试,并且经常发现自己像这样做:
假设我想要测试的行为是classUnderTest.DoSomething()调用了l.Fatal("My test message")一次。
//arrange
mockLogger.Setup(l => l.Fatal("My test message"));
//act
classUnderTest.DoSomething()
//assert
mockLogger.Verify(l => l.Fatal("My test message"), Times.Once());
我觉得验证调用总是在设置的基础上重复,只不过加上了Times参数。 我真的很想知道其他人使用不同的mocking框架时是怎么做的。 有没有更好的方法?