usr*_*260 3 c# nunit automated-tests
我是Nunit的新手,我正在尝试运行2个测试夹具,A&B.在每个夹具中,我为每个夹具都有一个独特的安装方法.但是,当我在Visual Studio中的"测试资源管理器"中单击"全部运行"时,将调用Fixture A的测试设置(首先执行),并忽略Fixture B的设置.通过命令行运行所有测试时,我也会得到相同的行为.以下是我的代码:
夹具A.
[TestFixture]
public class A
{
[SetUp]
public void SetupTest()
{
// ...Setup for Fixture A
}
[Test, Order(1)]
public void TestForFixtureA()
{
// ...perform test
}
}
Run Code Online (Sandbox Code Playgroud)
夹具B
[TestFixture]
public class B
{
[SetUp]
public void SetupTest()
{
// ...Setup for Fixture B
}
[Test]
public void TestForFixtureB()
{
// ...perform test
}
}
Run Code Online (Sandbox Code Playgroud)
每个Fixture执行Setup方法的正确方法是什么?
您在测试夹具级别使用不正确的属性进行设置.您应该使用的属性是[SetUpFixture].有关这方面的信息可以在nunit文档中找到
以下是从文档中获取的所有设置属性及其用法的列表:
SetUpAttribute现在专门用于每次测试设置.
TearDownAttribute现在专门用于每次测试拆解.
OneTimeSetUpAttribute用于每次测试运行的一次性设置.如果运行n次测试,则此事件只会发生一次.
OneTimeTearDownAttribute用于每次测试运行的一次性拆卸.如果运行n次测试,则此事件只会发生一次
SetUpFixtureAttribute继续像以前一样使用,但具有更改的方法属性.
这似乎并不能解释您所看到的bizzare行为,因为设置应该按测试运行,但使用正确的属性不会有害.
| 归档时间: |
|
| 查看次数: |
875 次 |
| 最近记录: |