Visual Studio Test Project Start Up Event?
本文关键字:Up Event Start Project Studio Test Visual | 更新日期: 2023-09-27 18:31:36
我的项目都使用StructureMap作为容器/IoC。我在存储库模式之类的东西中利用它。在我的单元测试项目中,我已经在有意义的时候实现了测试存储库。为了让结构图知道要使用什么具体实现,我需要初始化容器并运行类型注册。我正在寻找一个在单元测试项目中调用我的 IoC.Initialize() 的地方。在单元测试之外,例如,在 Web 项目中,我可以从 Global.asax 初始化我的 IoC 容器/注册。我正在寻找相当于 Global.asax 的单元测试(例如静态 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
您可能正在寻找AssemblyInitializeAttribute
。可以在程序集的类中使用它修饰方法,它将在该程序集中的任何测试运行之前运行一次。