web-dev-qa-db-ja.com

NUnitではなくVS2010でMS Test ClassInitialize()およびTestInitialize()を使用する

私はVS2008でNUnitを使用しましたが、VS2010のMSTestに適応しています。以前はTestSetup()でオブジェクトを作成し、TestCleanup()でそれを破棄でき、NUnitでテストメソッドが実行されるたびにオブジェクトが作成されるため、各テストメソッドでコードが重複することはありませんでした。

これはMSTestでは不可能ですか? ClassInitializeおよびClassCleanupおよびTestInitializeおよびTestCleanup属性を使用して見つけた例は、コンソールへの書き込み方法のみを示しています。これらの属性のより詳細な使用法は示されていません。

25
Jennifer S

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();
    }
}
39
Tom Brothers