什么是RepositoryMock ?验证”做的事情
本文关键字:验证 RepositoryMock 什么 | 更新日期: 2023-09-27 18:04:56
您能帮我做一下吗?
我正在使用c#, MSTest和Moq进行单元测试项目,如果我想验证是否调用方法,我使用:
RepositoryMock.Verify(x=>x.method(int value).Times.Once());
我的问题是:是否会评估RepositoryMock.Verify
以检查我的测试是否通过或失败?我的意思是,就像一个断言,如果方法从未被调用,那么测试就会失败或者发生了什么,如果方法从未被调用,最终结果是什么?
Verify
是旧语法的一部分,即AAA之前的语法。在过去,您在"记录模式"下设置模拟,然后在"回放模式"下运行测试,然后通过调用Verify
验证所有期望。如果没有调用它,则没有验证期望(还有一个VerifyAll
可以一次验证所有模拟)。
在AAA中你不再需要它了。它是MockRepository
实例的一个方法,您不必再创建模拟存储库的实例。
用AssertWasCalled
和AssertWasNotCalled
来做你需要的。
mock.Stub(x => x.Foo()).Return("blah");
unitUnderTest.DoIt();
mock.AssertWasCalled(x => x.Bar());