我的全局设置如下
public class GlobalSetup
{
[SetUp]
public void setUp()
{
// Setup code
}
}
我的测试用例如下
[TestFixture]
public class Products : GlobalSetup
{
[Test, Description("Test description here")]
public void GetProductsByProductID()
{
}
[Test]
public void GetHeader()
{
}
[Test]
public void GetMyProducts()
{
}
}
虽然设置正在运行,但每个测试用例都运行一次。我希望设置只对整个测试套件运行一次。你们可以请帮助我如何为我的整个套件只运行一次设置。
此外,当我使用如下的GlobalSetUp文件时,安装方法对每个测试用例运行两次。
注意:我使用的是NUnit 2.6.4
答案 0 :(得分:1)
NUnit SetUp
属性导致在每个测试方法之前执行方法。
您需要的是TestFixtureSetUp
属性,用于标记一次性设置方法。
答案 1 :(得分:1)
如果您说要为测试套件运行一次全局设置,那么您的意思是TestFixture吗?我假设您在我的回答中做了,但请记住,程序集是一个测试套件,每个命名空间都是一个测试套件等。
在运行任何测试之前,为夹具运行一次全局设置。将GlobalSetUp类中的SetUp属性更改为TestFixtureSetUp属性。 (如果您使用的是NUnit 3.x,那么它将是OneTimeSetUp属性)
如果您的意思不是测试夹具,我可以为您编辑此答案。