我有一個TeamCity項目設置了兩個構建配置。每三分鐘持續運行一次。另一個每小時運行一小時。這些曾經是一種配置,直到我拆分連續構建。兩種配置都有兩個構建步驟:第一個構建解決方案,第二個構建步驟使用MsTest運行單元測試。TeamCity中的MsTest:測試發現一個構建配置,但不是另一個
在拆分爲兩個配置之前,MsTest構建步驟將使用屬性[Category(「Unit」)]運行所有測試。 MsTest構建步驟中的「附加命令行參數」值爲「/ category:unit」。我創建了一個新的測試屬性類別 - 「集成」 - 以便在兩種配置之間分割兩種類型的測試。每小時構建配置旨在使用「/ category:integration」的「附加命令行參數」值。
不幸的是,每小時構建配置沒有找到任何測試運行。命令行參數包括「單元」,「集成」還是兩者(「單元集成」)無關緊要。另一方面,連續構建會查找並運行與命令行參數中包含的類別相對應的測試。每小時編譯日誌包括以下輸出:
[14:48:07]Step 2/2: Test Solution Hourly (MSTest) (29s)
[14:48:07][Step 2/2] Starting: C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit
[14:48:07][Step 2/2] in directory: D:\TeamCity\buildAgent\work\23f125e3a59e551a
[14:48:11][Step 2/2] No assemblies, run configuration and test metadata were found
這兩種構建配置除了構建觸發外在其他方面都是相同的。他們使用默認的檢出和工作目錄,以及相同的構建配置參數。爲兩者創建相同的工作目錄。它們之間沒有依賴關係。他們運行在同一個代理上。
我的問題是:爲什麼小時配置沒有找到測試?