14

MSTestの[ClassCleanup]および[ClassInitialize]に相当する非静的なものはありますか?

一部のシステム/統合レベルのテストにMSTestを使用していますが、テストでの接続のクリーニングと初期化について心配する必要はありません。

サンプルコード:

[TestClass]
public class DefectCreatorTest
{
    private long _cookie;
    private soapcgi _soap;

    [ClassInitialize]
    public void Initialize()
    {
        _soap = new soapcgi {Url = "http://localhost:80/scripts/soapcgi.exe"};
        _cookie = Transaction.Login(_soap);
    }

    [ClassCleanup]
    public void TearDown()
    {
        Transaction.Logout(_cookie, _soap);
    }

    [TestMethod]
    public void CreateDefectTest()
    {
        var result = _soap.Foo();
        Assert.AreEqual("bar", result);
    }
}
4

1 に答える 1

7

私の知る限り、あなたの質問に答えてください - いいえ、MSTest に非静的な同等物はありません。

しかし:

  1. あなたのコードを見ると、 and と一緒に静的にすべきではない理由は_cookieありません。そうすることで、テスト書き込み中の構成の心配を忘れることができます..._soapInitializeTearDown
  2. 「ジャンプシップ」を希望する場合は、[ClassCleanup][ ClassInitialize] に相当する NUnitを静的メソッドとインスタンス メソッドに適用できます。
于 2012-01-23T13:22:47.770 に答える