2009-02-05 18 views
1

我有两个项目,每个项目都有自己的单元测试项目,每个项目+测试项目对有一个app.config。如果我每次只运行一次,测试不会失败。但是,如果使用“在解决方案中运行所有测试”,所有测试将只使用其中一个app.config,并且对于其中一个测试项目中的所有测试都是错误的。一个解决方案中的两个测试项目app.config问题(Visual Studio 2008 Professional)

如何从单个项目运行所有测试而不必使用单独的解决方案,因此它们不使用其他项目的app.config?

回答

2

我不认为你能够。您可能遇到的问题是Visual Studio只是将单个测试列表传递给MSTest。启动MSTest将使用它遇到的第一个.DLL的配置文件。

由于性能方面的原因,MSTest在遇到不同的.DLL中的测试时不会拆除/启动新进程,因此它不会加载第二个配置文件。

正如我所看到的,您有两种选择。

  1. 合并配置文件,以便它们可以在测试中共享。

  2. 更改您的测试,以便它们不需要配置文件。事实上,你有他们会建议你正在做集成测试,而不是单元测试,从他们的依赖孤立,但如果你有一个复杂的代码库,我可以理解为什么会发生。

相关问题