我是单元测试的新手,我正在学习如何使用 NUnit 和 Moq。NUnitAssert
在我的单元测试中提供了测试条件的语法,而 Moq 提供了一些Verify
功能。在某种程度上,这些似乎提供了相同的功能。
我怎么知道什么时候更适合使用Assert
or Verify
?
也许Assert
更适合确认状态,Verify
更适合确认行为(Classical vs Mockist)?
我是单元测试的新手,我正在学习如何使用 NUnit 和 Moq。NUnitAssert
在我的单元测试中提供了测试条件的语法,而 Moq 提供了一些Verify
功能。在某种程度上,这些似乎提供了相同的功能。
我怎么知道什么时候更适合使用Assert
or Verify
?
也许Assert
更适合确认状态,Verify
更适合确认行为(Classical vs Mockist)?
您关于断言确认状态和验证确认行为的假设是正确的。
你断言一个结果或一个值
您验证是否已使用适当的参数调用了方法。
从 selenium 的角度来看,Assert 是一种验证,如果不满足,它将在那里停止测试并报告失败。相反,verify 是一种验证,如果不满足,则继续进行测试,并在执行结束时将测试报告为失败。
因此,如果验证是依赖的,我建议使用断言。如果验证不依赖,则使用验证。
参考:https ://www.softwaretestingmaterial.com/difference-between-assert-and-verify/