12

Visual Studio.NET 2008 と MsTest を使用して単体テストを実行するとします。システムがサービス コンテナーに基づいている場合、依存性注入の単体テストでは当然、サービスのセットアップが必要になります。

これらのサービスは、すべての単体テストが派生する基本クラス、または各単体テスト クラスでセットアップする必要があります。それらが基本クラスにある必要がある場合、base.Initialise などの派生クラスから呼び出さなくてもメソッドTestInitializeとメソッドを実行する方法はありますか?ClassInitialize

4

3 に答える 3

8

MSTest フレームワークは、オブジェクト全体 (すべての基本クラス) で とマークされたメソッドを検索しますTest*。単体テスト クラスで宣言する場合と同様に、明示的に呼び出す必要はありません。

于 2009-01-27T14:19:29.433 に答える
6

2008 では、基本クラスに [TestInitialize] を含めることができるはずです。別の [TestInitialize] を階層のどこかに追加しない限り、それを呼び出す必要があります。仮想メソッドを使用して行うこともできます。

于 2009-02-14T06:50:06.683 に答える
0

Test*およびClass*マークされたメソッドは、実際の単体テスト クラスに配置することを好みます。それらを基本クラスで定義する場合、テスト固有のアクティビティをそれらに追加することはできません。代わりに、基本クラスで静的およびインスタンス コンストラクターとファイナライザーを使用します。

于 2009-01-27T14:16:15.680 に答える