可以用AssemblyInitialize运行几个方法吗?

时间:2012-02-29 12:47:09

标签: .net unit-testing integration-testing mstest

我正在开发一个供几个项目使用的框架。该框架将实现类似于MSTest基础上的单元测试的集成方法。集成测试的核心部分将作为单独的程序集的框架的一部分,让我们称之为Fr.IntegrationTests.dll。

使用该框架的所有项目都必须在新程序集中实现自己的集成测试,我们称之为Project.IntegrationTests.dll。此程序集仅通过某些特定测试扩展了Fr.IntegrationTests.dll中的测试。

我遇到的问题是我必须为Fr.IntegrationTests.dll和Project.IntegrationTests.dll执行两个单独的初始化。我通过两个程序集中的AssemblyInitialize来做到这一点。但它告诉我,只有Project的初始化才能完成。

你能告诉我是否有多个初始化方法可以使用AssemblyInitialize?对我来说,重要的是要知道是否也将调用用AssemblyInitialize修饰的引用程序集(Fr.IntegrationTests.dll)中的方法。

提前谢谢!

1 个答案:

答案 0 :(得分:1)

使用ClassInitialize并按类组织测试可能会更好。另外,我相当肯定MSTest不尊重引用程序集中的任何典型属性,您可能希望直接对该程序集执行MSTest。