什么是RepositoryMock ?验证”做的事情

本文关键字:验证 RepositoryMock 什么 | 更新日期: 2023-09-27 18:04:56

您能帮我做一下吗?

我正在使用c#, MSTest和Moq进行单元测试项目,如果我想验证是否调用方法,我使用:

RepositoryMock.Verify(x=>x.method(int value).Times.Once());

我的问题是:是否会评估RepositoryMock.Verify以检查我的测试是否通过或失败?我的意思是,就像一个断言,如果方法从未被调用,那么测试就会失败或者发生了什么,如果方法从未被调用,最终结果是什么?

什么是RepositoryMock ?验证”做的事情

Verify是旧语法的一部分,即AAA之前的语法。在过去,您在"记录模式"下设置模拟,然后在"回放模式"下运行测试,然后通过调用Verify验证所有期望。如果没有调用它,则没有验证期望(还有一个VerifyAll可以一次验证所有模拟)。

在AAA中你不再需要它了。它是MockRepository实例的一个方法,您不必再创建模拟存储库的实例。

AssertWasCalledAssertWasNotCalled来做你需要的。

mock.Stub(x => x.Foo()).Return("blah");
unitUnderTest.DoIt();
mock.AssertWasCalled(x => x.Bar());