我试图了解Exactly Verify或VerifyAll的作用?
我正在搜索,我得到了关于使用MOQ的以下信息
Arrange
Mock
Set up expectations for dependencies
Set up expected results
Create class under test
Act
Invoke method under test
Assert
Assert actual results match expected results
Verify that expectations were met
Run Code Online (Sandbox Code Playgroud)
那么验证究竟做了什么?我可以使用Assert测试所有内容,如果有任何失败,单元测试将失败?
验证还有哪些额外的工作?它是Assert的替代品吗?
更多澄清会让我理解.
谢谢
断言用于检查被测试的类/对象/主题(SUT).验证用于检查SUT的协作者是否已收到通知或联系.
因此,如果您正在测试一个汽车对象,它有一个引擎作为协作者/依赖者.在调用car.PushStart()之后,您将使用Assert来查看car.IsHumming.您将使用Verify查看_mockEngine.Ignition()是否收到了调用.
方法一:
方法二
因此,如果您对Mock有多个操作,或者如果您需要模拟方法来返回将要处理的值,那么Setup + Act + VerifyAll就是要走的路.
如果您要检查一些通知,则验证更容易.
| 归档时间: |
|
| 查看次数: |
1650 次 |
| 最近记录: |