NUnit 3.2.1 + TeamCity:無法載入文件或程序集“nunit.framework”
我最近更新到TeamCity 9.1.6以執行基於NUnit 3.2.1的新單元測試。但現在我無法執行測試:
我在建構步驟中選擇了 NUnit3 執行器,並進行了相應的配置:
建構時,出現錯誤:“無法載入文件或程序集‘nunit.framework’或其依賴項之一。系統找不到指定的文件。” .
一切都應該沒問題,路徑沒問題,程序集在測試程序集的路徑中,一切都內置在 AnyCPU 配置中。還有一個錯誤指出 NUnit 版本不是發布版本,我認為這是胡說八道,它是 NUnit 網站上的發布。並且該錯誤似乎並沒有破壞任何東西(即使我在“nunit.framework”錯誤之前出現錯誤,並且當我修復該錯誤時,建構也變得更進一步)。
任何線索表示讚賞!
更新: 使用命令行執行程序執行測試並執行相同的 nunit3-console.exe 工作正常。所以我想這是一個 NUnit runner 特定的問題。不過,歡迎就如何解決此問題提出建議。
更新 2: 我嘗試將 TeamCity 使用的解決方案包和 NUnit-Console 降級到 3.0.0 - 仍然是相同的結果。
更新 3: 正如我所懷疑的,TeamCity 支持確認有關“不支持 NUnit 版本”的消息是錯誤的,不應該影響任何事情。
在與 TeamCity 技術支持人員進行了長時間的電子郵件討論後,我們找到了解決方案。我已收到通知,他們已在即將發布的 TC10 版本(將於 2016 年 6 月末發布)中解決了此問題,目前有一些解決方法可以解決此問題。
我試過第二個,它對我有用。
- 僅在相對於 checkout 目錄的嵌套目錄中執行測試(例如,您可以在之前複製它們)
- 將建構配置參數添加
nunit_use_project_file到False:也就是說,我去我的測試建構和執行項目,去參數部分並將新參數“nunit_use_project_file”添加為False。測試現在在 NUnit3 建構步驟執行器下執行。
我對 TeamCity 10.0.1(內部版本 42078)和 NUnit 3.4.1 有同樣的問題。結果完全是我的錯。我在這裡發布它,因為其他人可能會遇到同樣的問題,這可以節省他們一些時間。
原來問題出
"Run tests from: "在我的建構配置中的設置中。我有
**\*.Test.dll。那是意外地為目錄拾取 dll\obj\**\(其中不存在 nunit.framework.dll)。一旦我將設置更改為**\bin\%BuildConfiguration%\*.test.dll一切正常。注意:%BuildConfiguration% 是一個參數,用於指定您在 TC 上的首選建構配置(如 Debug / Release / CIBuild 等)



