一个解决方案app.config问题中的两个测试项目(Visual Studio 2008 Professional)

时间:2009-02-05 15:30:25

标签: visual-studio-2008 unit-testing app-config

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

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

1 个答案:

答案 0 :(得分:2)

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

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

我认为你有两种选择。

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

  2. 更改测试,使其不需要配置文件。您拥有它们的事实表明您正在进行集成测试,而不是从依赖项中隔离的单元测试,但如果您有一个复杂的代码库,我可以理解它为什么会发生。