私のプロジェクトはすべて StructureMap をコンテナ/IoC として使用しています。これをリポジトリ パターンなどに活用しています。私の単体テスト プロジェクトでは、必要に応じてテスト リポジトリを実装しました。構造マップがどの具体的な実装を使用するかを知るために、コンテナーを初期化し、型の登録を実行する必要があります。単体テスト プロジェクトで IoC.Initialize() を呼び出す場所を探しています。単体テスト以外では、たとえば Web プロジェクトで、Global.asax から IoC コンテナー/登録を初期化できます。Global.asax に相当する単体テストを探しています (例: static void main、単体テストのメインの起動イベント エントリ ポイントに配線する方法)。私はすべてのテストに基本クラスを使用し、そこで初期化することでこれを回避しました。
助言がありますか?
更新/回答
以下は、マシューの回答に従って実装したソリューションです。
<TestClass()>
Public Module Main
Public Property TestContext As TestContext
<AssemblyInitialize()>
Public Sub Initialize(_TestContext As TestContext)
TestContext = _TestContext
IoC.Initialize()
End Sub
End Module