我应该在哪里放置应该只运行一次的代码(而不是每个类一次)?一个例子是初始化DB连接字符串的语句.而且我只需要运行一次,我不想在每个"TestFixture"类中放置一个新方法来做到这一点.
Ben*_*ein 61
该[SetUpFixture]属性允许您为同一命名空间下的所有测试运行一次安装和/或拆卸代码.
这是关于的文档SetUpFixture.根据文件:
任何命名空间之外的SetUpFixture为整个程序集提供SetUp和TearDown.
因此,如果您需要SetUp并且TearDown针对所有测试,那么只需确保SetUpFixture该类不在命名空间中.
或者,您可以始终严格定义静态类,以便定义"全局"测试变量.
Jam*_*Ide 42
创建一个类(我称之为我的Config)并使用该[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] // [OneTimeTearDown] for NUnit 3.0 and up
public void TearDown()
{
}
}
Run Code Online (Sandbox Code Playgroud)
K0D*_*0D4 13
[SetUpFixture]
public class TestLogging
{
[OneTimeSetUp]
public void Setup()
{
DoStuff();
}
}
Run Code Online (Sandbox Code Playgroud)