NUnit是否支持与可应用于静态方法的Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyCleanupAttribute类似的Assembly拆卸概念?NUnit是否支持拆卸拆卸的概念?
在装配体内的所有测试完成后,将执行此操作。我目前正在使用NUnit 2.6.0。
NUnit是否支持与可应用于静态方法的Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyCleanupAttribute类似的Assembly拆卸概念?NUnit是否支持拆卸拆卸的概念?
在装配体内的所有测试完成后,将执行此操作。我目前正在使用NUnit 2.6.0。
事实证明,这个功能在NUnit中确实存在,它不是非常明显或直观。
根据Charlie Poole在我为此功能here所做的功能请求中,他声明以下内容将起作用,这是他的直接引用。
使用[SetUpFixture]在任何名称空间外部装饰类。 用[TearDown]装饰该类的方法。如果你喜欢,用[设置]装饰另一个 。从你问什么
差异:
的名称可以在这种用法有点不明显。
NUnit允许任意数量的这些并且全部调用它们,没有任何订购保证。这是设计。
它可以应用于静态或实例方法。如果它是一个实例方法,则该类必须具有默认构造函数,并且将在整个测试运行的生命周期内创建它。这也是通过 的设计。
现在,这是不漂亮,但它应该达到相同的功能,也许他会使其少许清洁剂3.0。 :)
在NUnit中没有这样的概念。但是你可以使用TestFixtureTearDownAttribute
来释放TestFixture获得的资源。
谢谢,这是我担心的,因为有所有需要清理的TestFixtures使用的非托管资源,以及将MSTest项目移植到NUnit时,我遇到了这个问题。 –
为此创建了一项要添加到NUNit的功能请求。如果你有兴趣可以在这里找到:https://bugs.launchpad.net/nunitv2/+bug/1098766 –
从NUnit 3开始,这会引发一个异常:SetUpFixture中不允许使用OneTimeSetUp:TearDownAttribute属性,它到'[OneTimeTearDown]'修复了这个问题。 – MrLore