我是新的单位,并试图运行2个测试夹具,A& B。在每个夹具,我有一个独特的设置方法为每个。但是,当我在Visual中的“”中单击"Run“时,就会调用夹具A的测试设置(首先执行它),而忽略了first的设置。在通过命令行运行所有测试时,我也会得到相同的行为。下面是我的代码:
夹具A
[TestFixture]
public class A
{
[SetUp]
public void SetupTest()
{
// ...Setup for Fixture A
}
[Test, Order(1)]
public void TestForFixtureA()
{
// ...perform test
}
}夹具B
[TestFixture]
public class B
{
[SetUp]
public void SetupTest()
{
// ...Setup for Fixture B
}
[Test]
public void TestForFixtureB()
{
// ...perform test
}
}获得安装方法以执行每个夹具的正确方法是什么?
发布于 2018-01-09 15:33:43
您在测试夹具级别使用了不正确的设置属性。您应该使用的属性是[SetUpFixture]。有关这方面的信息可在nunit文档中找到。
下面是从文献资料获取的所有设置属性及其用法的列表:
这似乎不能解释您所看到的bizzare行为,因为安装程序应该在每个测试中运行,但是使用正确的属性不会有什么影响。
发布于 2018-01-09 19:02:03
如果您打算在每个夹具上运行一次安装程序,请使用[OneTimeSetUp]。但是,如果您打算在夹具中每个测试运行一次,那么[SetUp]是正确的。我们无法从代码中看出你的意图。
无论你用哪一个,设置都应该运行。[OneTimeSetUp]将运行但[SetUp]不会运行的唯一情况是在夹具中找不到单独的测试。所有的测试都被识别了吗?
我建议您非常清楚地验证安装程序是否正在运行。最简单的方法是临时从安装方法中创建一些输出。
https://stackoverflow.com/questions/48171415
复制相似问题