2009-02-05 38 views
1

我有兩個項目,每個項目都有自己的單元測試項目,每個項目+測試項目對有一個app.config。如果我每次只運行一次,測試不會失敗。但是,如果使用「在解決方案中運行所有測試」,所有測試將只使用其中一個app.config,並且對於其中一個測試項目中的所有測試都是錯誤的。一個解決方案中的兩個測試項目app.config問題(Visual Studio 2008 Professional)

如何從單個項目運行所有測試而不必使用單獨的解決方案,因此它們不使用其他項目的app.config?

回答

2

我不認爲你能夠。您可能遇到的問題是Visual Studio只是將單個測試列表傳遞給MSTest。啓動MSTest將使用它遇到的第一個.DLL的配置文件。

由於性能方面的原因,MSTest在遇到不同的.DLL中的測試時不會拆除/啓動新進程,因此它不會加載第二個配置文件。

正如我所看到的,您有兩種選擇。

  1. 合併配置文件,以便它們可以在測試中共享。

  2. 更改您的測試,以便它們不需要配置文件。事實上,你有他們會建議你正在做集成測試,而不是單元測試,從他們的依賴孤立,但如果你有一個複雜的代碼庫,我可以理解爲什麼會發生。

相關問題