我已经在VS2008上使用了NUnit,现在我正在适应VS2010上的MSTest。我以前能够在TestSetup()中创建一个对象并在TestCleanup()中处理它,并且每次在NUnit中运行测试方法时都会创建对象,这样就不会在每个测试方法中复制代码。
MSTest无法实现这一点吗?我发现使用ClassInitialize和ClassCleanup以及TestInitialize和TestCleanup属性的示例仅显示如何写入控制台。没有显示这些属性的更详细用法。
答案 0 :(得分:37)
这是一个使用TestInitialize和TestCleanup的简单示例。
[TestClass]
public class UnitTest1
{
private NorthwindEntities context;
[TestInitialize]
public void TestInitialize()
{
this.context = new NorthwindEntities();
}
[TestMethod]
public void TestMethod1()
{
Assert.AreEqual(92, this.context.Customers.Count());
}
[TestCleanup]
public void TestCleanup()
{
this.context.Dispose();
}
}