2009-08-25 63 views
2

我有13個獨立但相關的體系結構程序集和13個獨立的NUnit測試程序集,每個程序集都包含其匹配體系結構程序集的所有測試裝置。我正在使用NUnit 2.5.2(最新版本)。多個NUnit測試程序集,每個程序集都需要不同的配置。我怎樣才能讓NUnit一次運行它們?

我可以在NUnit GUI中單獨運行每個測試程序集,並通過所有測試。但是,當我將它們組合成單個NUnit項目文件時,NUnit堅持要在整個測試運行中應用單個配置文件。這不起作用,因爲每個測試程序集都需要不同的配置。我無法將它們合併到一個「超級配置」文件中,因爲某些部分是互斥的。我曾嘗試在單獨的AppDomain中運行項目中的每個程序集,也嘗試在獨立的進程中運行每個程序集,但是在這兩種情況下都無法使用DLL特定的配置文件,因此所有測試都會崩潰並燒燬。

我已經做了谷歌搜索,但到目前爲止我還沒有發現任何跡象表明NUnit支持這種情況。我是對的嗎,還是我錯過了什麼?

我已經盡了最大的努力來重新構建測試,以便他們可以共享相同的配置文件,但我不得不承認在這方面的失敗。

回答

1

在過去,我用一個批處理文件通過獨立的nunit控制檯來運行每個程序集。有一點我有一些合併xml輸出的東西。它可能在CruiseControl.Net代碼中。

我還沒有在NUnit項目上工作了一段時間。我的頭腦中只有較舊的代碼。但問題是每個AppDomain都有一個配置,NUnit會將所有測試程序集加載到一個AppDomain中。

你可能想嘗試備用選手如ReSharper的或TestDriven.net

+0

謝謝麥克。我看了一下TestDriven.NET,它引導我進入MBUnit,這導致我進入了Gallio。我嘗試從NUnit測試程序集創建一個Gallio項目,並且所有測試都成功執行(一旦我刪除了所有的Gallio拒絕運行的設置程序)。我現在可能會在NUnit和Gallio GUI之間進行切換,因爲NUnit GUI有更好的錯誤報告。 – 2009-08-26 08:45:51

6

NUnit的2.5它和設置在那裏你可以使每個組件在一個單獨的AppDomain中運行。通過這樣做,NUnit將加載程序集的配置,而不是用於.nunit項目的配置。

欲瞭解更多信息,請看這裏:

http://nunit.org/index.php?p=settingsDialog&r=2.5

+0

我正在寫一個類似的問題,但我的問題是我需要使用不同版本的依賴DLL,而不是不同的配置文件。我看到了這一點,並試用了它。完美的作品。謝謝! – 2012-11-20 20:32:59

相關問題