Specflow';s CompareToSet()需要断言吗?

Specflow';s CompareToSet()需要断言吗?,specflow,xunit,xunit.net,Specflow,Xunit,Xunit.net,我正在将Specflow与xUnit一起使用,我是否应该使用带有void Table.CompareToSet()(在TechTalk.Specflow.Assist helpers中)的断言 或者它抛出一个异常就足够了?如果它抛出任何类型的异常,它都应该失败(它确实失败了),但我不确定是否应该通过显式地使用断言来更严格?有一个异常就足够了 别忘了,SpecFlow实际上并没有运行您的测试。它将其委托给NUnit/xUnit/MsTest。因此,如果您的代码在其中一个测试中失败,那么它在Spec

我正在将Specflow与xUnit一起使用,我是否应该使用带有
void Table.CompareToSet()
(在TechTalk.Specflow.Assist helpers中)的断言


或者它抛出一个异常就足够了?如果它抛出任何类型的异常,它都应该失败(它确实失败了),但我不确定是否应该通过显式地使用断言来更严格?

有一个异常就足够了

别忘了,SpecFlow实际上并没有运行您的测试。它将其委托给NUnit/xUnit/MsTest。因此,如果您的代码在其中一个测试中失败,那么它在SpecFlow中也应该失败


顺便说一句,如果您在编写功能代码之前先编写测试,那么您的测试当然会失败,并且该过程会检查您的失败是否有效,因此您可以自己看看这是否足够。;-)

谢谢,这就是问题所在,我不确定xUnit是否也需要这样的“显式失败”。测试失败ok如果实现失败,测试首先编写(主要是:-)我正在学习specflow,所以我有一些问题)。但是我想你已经回答了我的问题,如果单元测试框架在异常上失败了,那就足够了,不需要更多了?正确。SpecFlow允许异常出现,因此它取决于单元测试框架。