在VS2010中使用MS Test ClassInitialize()和TestInitialize()而不是NUnit

时间:2010-12-30 19:12:39

标签: nunit mstest

我已经在VS2008上使用了NUnit,现在我正在适应VS2010上的MSTest。我以前能够在TestSetup()中创建一个对象并在TestCleanup()中处理它,并且每次在NUnit中运行测试方法时都会创建对象,这样就不会在每个测试方法中复制代码。

MSTest无法实现这一点吗?我发现使用ClassInitialize和ClassCleanup以及TestInitialize和TestCleanup属性的示例仅显示如何写入控制台。没有显示这些属性的更详细用法。

1 个答案:

答案 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();
    }
}