我有2个关于nunit功能的问题。
[TestFixtureSetUp]和[SetUp]属性有什么区别?
我正在编写一个带有测试的类,我看到我的一半测试函数需要一个设置, 而另一半需要另一个设置。 如何在一个类中使用不同函数调用两个不同的SetUp函数
感谢。
答案 0 :(得分:7)
使用[TestFixtureSetUp]属性标记的方法将在当前测试套件中的所有测试之前执行一次,并且在每次测试之前将使用[SetUp]属性标记的方法
对于包含测试的类,其中包含需要不同设置函数的测试。只需将此类拆分为两个 - 每个类都有自己的SetUp函数。
[TestFixture]
public void TestSuite1
{
[SetUp]
public void SetUp1()
{
...
}
[Test]
public void Test1()
{
...
}
}
[TestFixture]
public void TestSuite2
{
[SetUp]
public void SetUp2()
{
...
}
[Test]
public void Test2()
{
...
}
}
或显式调用SetUp函数
[TestFixture]
public void TestSuite
{
public void SetUp1()
{
...
}
public void SetUp2()
{
...
}
[Test]
public void Test1()
{
SetUp1();
...
}
[Test]
public void Test2()
{
SetUp2();
...
}
}
答案 1 :(得分:1)
TestFixtureSetup方法在执行任何测试方法之前执行一次。在测试夹具中执行每个测试方法之前执行Setup方法。
我怎么能在一堂课中有两门课 几乎没有不同的SetUp功能 用不同的函数调用
在标记为TestFixture的单个类中,不能有两个不同的SetUp函数。如果单个测试需要一些初始化,那么将初始化代码放在这些函数中是有意义的。
我看到了我的一半测试功能 需要一个设置
我认为你需要考虑测试......