web-dev-qa-db-ja.com

Visual Studioユニットテスト:セットアップとティアダウン

Nunitの[SetUp]と[TearDown]の代わりに、Visual Studio Ultimate 2010の単体テストの代替手段は何ですか。 Nunitでは、セットアップおよびティアダウンメソッドが、クラスのテストのコンストラクターおよびデストラクタとして機能することを想像できます。

81
Etibar Hasanov

[TestInitialize]アノテーションが付けられたメソッドは、各テストの前に実行されます。同様に、[TestCleanup]は各テストの後にあります。

[ClassInitialize][ClassCleanup]は、TestClass内のテストの「スイート」の前後に実行されます。

129
Mikeb

Visual Studioは、Microsoftの単体テストフレームワークであるMSTestを使用します。これは、NUnitに似ています。実際、それらのほとんどは概念が似ていますが、構文が異なります。

比較を表示するために、xUnit(別のユニットテストフレームワーク)の作成者には、次のリストがあります。

http://xunit.github.io/docs/comparisons.html

具体的には、TestInitializeはMSTestのNUnitのSetupと同等であり、TestCleanupおよびTearDownでも同じです。

注意すべきことの1つは、自動化された単体テストまたはある種の継続的な統合を試みている場合は、NUnitを使用することです。さまざまな*unitフレームワークがMSTestよりも好まれているのは、テストを実行しているマシンにmustがVisual Studioのコピーを持っているためです。独自のローカルマシンでは問題ありませんが、CIサーバーでは異なる話です。 Visual Studioはプログラムの豚であり、サーバーにインストールすることは(通常、できるだけ軽量で高速であると想定されています)、テストを実行するだけでは少し面倒です。

3
Arran