我已经将NUnit与VS2008一起使用,现在正在适应VS2010上的MSTest。我曾经能够在TestSetup()中创建一个对象,并在TestCleanup()中对其进行处理,并且每次在NUnit中运行测试方法时都会创建该对象,从而避免了在每个测试方法中重复编写代码。

使用MSTest不可能吗?我使用ClassInitialize和ClassCleanup和TestInitialize和TestCleanup属性发现的示例仅显示了如何写入控制台。没有一个显示这些属性的任何更详细的用法。

最佳答案

这是一个使用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();
    }
}

10-08 18:31