(C#with NUnit 2.6.4)[Setup]为每个测试用例运行

时间:2017-05-27 03:54:44

标签: c# web-services nunit

我的全局设置如下

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

2 个答案:

答案 0 :(得分:1)

NUnit SetUp属性导致在每个测试方法之前执行方法。

您需要的是TestFixtureSetUp属性,用于标记一次性设置方法。

答案 1 :(得分:1)

如果您说要为测试套件运行一次全局设置,那么您的意思是TestFixture吗?我假设您在我的回答中做了,但请记住,程序集是一个测试套件,每个命名空间都是一个测试套件等。

在运行任何测试之前,为夹具运行一次全局设置。将GlobalSetUp类中的SetUp属性更改为TestFixtureSetUp属性。 (如果您使用的是NUnit 3.x,那么它将是OneTimeSetUp属性)

如果您的意思不是测试夹具,我可以为您编辑此答案。