使用TestInitialize()
,我可以初始化TestClass
. 但是,如果我只想初始化一些测试而不是其他测试,我该如何实现呢?
问问题
89 次
3 回答
2
将测试数据的非共享初始化移动到每个[TestMethod]
方法。
每次测试都会调用一次初始化方法,因此只需将您不想为所有测试运行的代码移动到特定方法中即可。
于 2012-10-23T14:28:12.637 回答
1
您可以通过将它们分成两个类来实现这一点。或者,如果它们都使用相同的方法和变量,则将它们放入从具有共享方法和数据的公共基类继承的子类中。
于 2012-10-23T14:29:13.593 回答
0
最好的方法是把你Test Methods
分成不同的Test Classes
. 但是,如果您想将它们全部合二为一,Test Class
您可以为每个测试创建不同的初始化方法:
[TestClass]
public class TestClass
{
[TestInitialize]
public void Initialize()
{
switch (TestContext.TestName)
{
case "TestMethod1":
this.InitializeTestMethod1();
break;
case "TestMethod2":
this.InitializeTestMethod2();
break;
default:
break;
}
}
[TestMethod]
public void TestMethod1()
{
}
[TestMethod]
public void TestMethod2()
{
}
private void InitializeTestMethod1()
{
// Initialize TestMethod1
}
private void InitializeTestMethod2()
{
// Initialize TestMethod2
}
public TestContext TestContext { get; set; }
}
于 2012-10-24T08:09:55.130 回答