我看不到具有TestFixture
属性的类的行为有什么不同。所有TearDown
和SetUp
的工作方式都相同。除了这个属性用法的语义之外还有什么理由吗?
答案 0 :(得分:25)
纯粹是一种方便,从NUnit 2.5开始,如果一个类满足条件成为测试夹具并至少指定一个标有Test
,TestCase
或TestCaseSource
的方法该类被视为测试夹具。
但是对于参数化或通用测试夹具,需要TestFixture
属性,因为在这种情况下,您还可以通过属性(参数/具体类型)指定其他信息。
有关具体要求的更多信息,请访问TextFixtureAttribute (NUnit 3 Documentation)和 TestFixtureAttribute (NUnit 2.0 / 2.5)
答案 1 :(得分:6)
如果你使用[TestFixture],你必须在脑后忍受这个声音说“嗯,这是一个测试类,而不是真正的测试 fixture ”并且想知道他们是怎么回事这个注释错了。