Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(C#NUnit 2.6.4)[设置]为每个测试用例运行_C#_Web Services_Nunit - Fatal编程技术网

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

(C#NUnit 2.6.4)[设置]为每个测试用例运行,c#,web-services,nunit,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 GetProductsByP

我的全局设置如下所示

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文件时,setup方法为每个测试用例运行了两次

注意:我正在使用NUnit 2.6.4

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

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

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


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

当您说要为测试套件运行一次全局设置时,您是指TestFixture吗?在我的回答中,我假设您这样做,但请记住,程序集是一个测试套件,每个命名空间都是一个测试套件,等等

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


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

当您说要为测试套件运行一次全局设置时,您是指测试夹具吗?在我的回答中,我假设您这样做,但请记住,程序集是一个测试套件,每个命名空间都是一个测试套件,等等

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


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

请查看文档。@JeroenHeier但我在SetupFixture示例中看到,它在类级别标记,在方法级别标记。我也可以在方法级别标记[SetupFixture]吗?请看文档。@JeroenHeier,但我在SetupFixture中看到这个示例是在类级别标记的,在方法级别标记的。我也可以在方法级别标记[SetupFixture]吗?但在这个示例中,我看到它在类级别标记,在方法级别标记。我也可以在方法级别标记[SetupFixture]吗?@CodeFuller说错了。SetUpFixture是一个fixture,即类。它包含NUnit 2.x中的SetUp方法或NUnit 3.x中的OneTimeSetUp方法。抱歉,我将SetUpFixture与TestFixtureSetUp混淆了。相应地更正了我的答案。谢谢@CodeFuller,它非常有用,但我在这个例子中看到它在类级别和方法级别被标记。我也可以在方法级别标记[SetupFixture]吗?@CodeFuller说错了。SetUpFixture是一个fixture,即类。它包含NUnit 2.x中的SetUp方法或NUnit 3.x中的OneTimeSetUp方法。抱歉,我将SetUpFixture与TestFixtureSetUp混淆了。相应地更正了我的答案。谢谢@CodeFuller它非常有用谢谢Charlie,这就是我想要的。谢谢Charlie,这就是我想要的。