一次初始化Nunit
我应该在哪里放置只能运行一次的代码(而不是每个类)? 这个例子是一个初始化数据库连接string的语句。 我只需要运行一次,而且我不想在每个“TestFixture”类中放置一个新的方法。
[SetUpFixture]
属性允许您在相同名称空间下对所有testing运行设置和/或拆卸代码一次。
这里是关于SetUpFixture
的文档。 根据文件:
任何名称空间之外的SetUpFixture为整个程序集提供SetUp和TearDown。
所以如果你需要所有testing的SetUp
和TearDown
,那么只要确保SetUpFixture
类不在名字空间中。
或者,您可以始终严格定义一个静态类来定义“全局”testingvariables。
创build一个类(我叫我的configuration),并用[SetUpFixture]
属性来装饰它。 类中的[SetUp]
和[TearDown]
方法将运行一次。
[SetUpFixture] public class Config { [SetUp] // [OneTimeSetUp] for NUnit 3.0 and up; see http://bartwullems.blogspot.com/2015/12/upgrading-to-nunit-30-onetimesetup.html public void SetUp() { } [TearDown] public void TearDown() { } }
NUnit 3 :
[SetUpFixture] public class TestLogging { [OneTimeSetUpAttribute] public void Setup() { DoStuff(); } }