2014-07-02 101 views
6

我想讓TeamCity成立一個項目。我想運行一個預定的構建,其中包括運行NUnit測試的步驟。Teamcity NUnit測試 - 找不到程序集

我NUnit的建設步驟是這樣的:

Runtime: NUnit-2.6.3 v4.0 MSIL 
Run tests on: **/Tests/*.dll 
Execute: If all previous steps finished successfully 

但每次我運行構建時我得到一個錯誤說:

No assemblies were found.

爲什麼會出現這種情況,我該如何解決它?另外,從概念上講,這個構建步驟將在項目實際構建之前發生。但是除非項目是在第一個地方建立的,否則怎麼會有任何測試DLL(程序集)呢?

+0

您是否在您的構建代理上驗證過這些目錄實際存在並且有文件?不,你不能在測試完成之前運行測試嗎?你爲什麼要這樣設置它? –

+0

代理是本地的。是的,這些DLL確實存在於使用的目錄中。 – ritratt

+0

只要確保在測試步驟之前添加命令行構建步驟並添加以下命令:dir/s,然後運行此命令並查看構建日誌的內容。你看到你的測試DLL在那裏嗎? –

回答

10

我建議您在運行測試之前構建您的項目。實現這一點的最常用方法是,您可以分別配置構建代碼和運行測試。

您的構建配置會生成工件(最有可能包含組件)。

測試運行配置將通過人爲因素依賴關係提取此人造物包,然後在構建步驟中從特定程序集運行測試。

這是最常用的方法,使用這種方法您不必擔心文件系統中的文件。 Teamcity的快照隔離和人爲因素依賴關係將處理此問題(正確配置時)

如果您需要示例說明如何實現此目的,請告訴我。

+0

這工作。我忘記了包含一個單獨的步驟來構建項目(MSBuild,VS sln build等) – ritratt

+0

@Dejan您能否提供一個示例或鏈接,以及您在回答中描述的示例?我認爲這正是我需要的,但我對團隊城市頗爲陌生,不確定如何進行各種配置。 – stt106

+0

我不知道爲什麼我第一次設置它時沒有這個問題,當我這麼做的時候,它讓我停了一會兒。但是,測試依賴於其他正在構建的項目。 +1 – Mukus

相關問題