Dot*_*nfo 2 c# unit-testing moq mocking
在编写测试时,我已经习惯了遵循代码模式
public void TestMethod_Condition_Output()
{
//Arrange----------------
Mock<x> temp = new Mock<x>();
temp.setup.......
//Act--------------------
classinstance.TestMethod()
//Assert------------------
temp.VerifyAll();
Assert.AreNotEqual(.....)
}
Run Code Online (Sandbox Code Playgroud)
在执行断言之前,我已经习惯于执行VerifyAll()。但是最近在一些在线示例中,我看到人们首先进行断言,然后再进行VerifyAll(如果有)。我确实认为除非丢失任何东西,否则我的方法是正确的方法。
如果我有任何遗漏,请您能提醒我。
我认为,验证应在断言之后进行。我希望断言与被测方法的调用接近,因为它们在记录方法的作用。模拟调用的验证详细说明了类如何使用其依赖项。直接与方法本身联系并不重要。
从某种意义上说,对依赖关系的嘲弄变成了实际测试本身的包装。这使测试更容易理解(无论如何,对我来说,是YMMV)。然后,我的测试遵循以下模式:
安排
法案
断言
我不知道我会对此之以鼻,但这对我来说最有意义。
| 归档时间: |
|
| 查看次数: |
4522 次 |
| 最近记录: |