2012-03-17 150 views
3

爲了自動執行TeamCity上的單元測試,我必須在我的vsmdi配置文件中創建一個測試列表,指出每個測試都是我稱爲CompleteCoverage的列表的一部分。我很不喜歡這個,因爲爲了自動運行新的測試,我必須記住將它們包含在這個列表中。TeamCity MSTest和TestList?

是否有某種方式來運行在使用TeamCity的和解決每個測試的MSBuild(除明確引用路徑輸出測試組裝)?

我應該直接放下MSTest並去NUnit

+0

如果要運行所有測試,只需引用測試程序集,問題是什麼? – wal 2012-03-17 07:00:59

+0

事實上,根據配置我必須指定不同的硬編碼位置'bin \ Debug'等 – bevacqua 2012-03-17 08:32:42

+0

'取決於配置'< - 即發佈與調試版本?如果是,那麼這些應該是teamcity中的獨立構建(配置)? – wal 2012-03-17 10:31:46

回答

3

我使用NUnit的,而不是MSTest的,但這應該爲你工作,太:

我命名我的所有測試組件包括一個.nunit在他們的名字,例如Basic.NUnit.dll。在執行測試的構建步驟中,我將**/*。NUnit.dll聲明爲要運行的程序集。爲了確保它們在正確的位置運行,我已將**/obj/**/*。NUnit.dll添加到排除列表中。加上排除或排除的測試類別,我完全可以控制在純粹的聲明級別運行哪些測試,而無需命名單個測試。