Visual Studioの単体テスト:SetUpとTearDown


90

Nunitの[SetUp]と[TearDown]の代わりに、Visual Studio Ultimate2010ユニットテストの代替手段は何ですか。Nunitでは、セットアップメソッドとティアダウンメソッドがクラスのテストのコンストラクタとデストラクタであると想像できます。



回答:


143

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

[ClassInitialize]そして、[ClassCleanup]TestClassを内部テストの「スイート」の前と後に実行されています。


6
ClassInitializeメソッドがTestContextを引数として取るように追加することもできます。
boutta 2014

4
また、パブリックスタティックである必要があります
Shalom Aleichem 2016

4

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

比較を表示するために、xUnit(別のユニットテストフレームワーク)の作成者はここにリストを持っています:

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

具体的にはあなたが何を求めて、TestInitializeMSTestをのNUnitののと同等でSetupあり、同じもののためTestCleanupTearDown

注意すべき点の1つは、自動化された単体テストまたはある種の継続的インテグレーションを実行しようとしている場合は、NUnitを使用することです。さまざまな*unitフレームワークがMSTestよりも好まれる主な理由は、テストを実行しているマシンにVisualStudioのコピーが必要なためです。自分のローカルマシンには問題ありませんが、CIサーバーには別の話があります。Visual Studioはプログラムの一部であり、サーバーにインストールする(一般的には可能な限り軽量で高速であると考えられています)ので、テストを実行するだけでは少し面倒です。


7
TFS Team Test AgentをCIサーバーにインストールする(構成しない)だけで、テストランナーをインストールできます(microsoft.com/en-us/download/details.aspx?id=1334)。Generic、Ordered、CodedUI、またはPerformanceテストが必要な場合を除き、VisualStudioを完全にインストールする必要はありません。
jessehouwing 2013年

1
Team Build 2012は、ビルドサーバーにVisual Studioをインストールしなくても、すぐに使用できるさまざまなテストランナーのサポートをインストールします。
jessehouwing 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.