我在 TeamTest 中有一个名为“MyClassTest”的单元测试项目。该项目具有三个 TestMethods。每个方法都需要自己的测试初始化步骤。但是当我将 TestInitializeAttribute 应用于三个初始化方法时,它说该属性不应多次使用。那么在 Visual Studio Team Test 中初始化每个测试方法的属性应该是什么?
引用:
最佳答案
根据 MSDN TestInitializeAttribute
:
- 不能多次使用 (AllowMultiple = false),并且
- 不能被继承来创建你自己的
TestInitializeAttribute
。
因此,我的建议是创建不带 TestInitialize
属性的测试初始化方法。然后在独特的 TestInitialize
方法中检查哪个是当前执行的 TestMethod
并调用适当的初始化方法:
[TestClass]
public class UnitTest
{
public TestContext TestContext { get; set; }
[TestInitialize]
public void Initialize()
{
switch (TestContext.TestName)
{
case "TestMethod1":
this.IntializeTestMethod1();
break;
case "TestMethod2":
this.IntializeTestMethod2();
break;
default:
break;
}
}
[TestMethod]
public void TestMethod1()
{
}
[TestMethod]
public void TestMethod2()
{
}
public void IntializeTestMethod1()
{
//Initialize Test Method 1
}
public void IntializeTestMethod2()
{
//Initialize Test Method 2
}
}
关于c# - VS 团队测试 : Multiple Test Initialize Methods in Test Class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10699795/