我的项目都使用 StructureMap 作为容器/IoC。我在诸如存储库模式之类的事情中利用了这一点。在我的单元测试项目中,我已经实现了有意义的测试存储库。为了让结构映射知道要使用什么具体实现,我需要初始化容器并运行类型注册。我正在寻找一个在单元测试项目中调用我的 IoC.Initialize() 的地方。在单元测试之外,例如,在一个 Web 项目中,我可以从 Global.asax 初始化我的 IoC 容器/注册。我正在寻找一个与 Global.asax 等效的单元测试(例如 static void main,一种连接到单元测试的主启动事件入口点的方法)。我通过对所有测试使用基类并在那里进行初始化来解决这个问题,因此任何运行的测试最终都会初始化 IoC 容器,如果它'
有什么建议么?
更新/回答
以下是我根据 Matthew 的回复实施的解决方案。
<TestClass()>
Public Module Main
Public Property TestContext As TestContext
<AssemblyInitialize()>
Public Sub Initialize(_TestContext As TestContext)
TestContext = _TestContext
IoC.Initialize()
End Sub
End Module