Visual Studio测试项目启动事件?

wak*_*rth 5 .net c# vb.net unit-testing

我的项目都使用StructureMap作为容器/ IoC.我在存储库模式等方面利用它.在我的单元测试项目中,我已经在有意义的时候实现了测试存储库.为了使结构图知道要使用的具体实现,我需要初始化容器并运行类型的注册.我正在寻找一个在单元测试项目中调用IoC.Initialize()的地方.在单元测试之外,例如,在Web项目中,我可以从Global.asax初始化我的IoC容器/注册.我正在寻找相当于Global.asax的单元测试(例如静态void main,一种连接到单元测试的主要启动事件入口点的方法).我通过在所有测试中使用基类并在那里进行初始化来解决这个问题,因此任何运行的测试最终都会初始化IoC容器(如果它'

有什么建议?

UPDATE/ANSWER

以下是我根据马修的回应实施的解决方案.

<TestClass()>
Public Module Main

    Public Property TestContext As TestContext

    <AssemblyInitialize()>
    Public Sub Initialize(_TestContext As TestContext)

        TestContext = _TestContext
        IoC.Initialize()

    End Sub

End Module
Run Code Online (Sandbox Code Playgroud)

Mat*_*les 11

你可能正在寻找AssemblyInitializeAttribute.您可以在程序集的类中使用它来装饰方法,并且在该程序集中的任何测试运行之前它将运行一次.