[英]NUnit3 tests don't run on TFS build
我們目前正在將我們的單元測試從使用MSTest遷移到NUnit(版本3.2.1),但是在我們的TFS .xaml構建定義中運行NUnit測試時遇到了問題。 TFS構建定義使用規則“在程序集中運行測試匹配** \\ * .test * .dll”。 對於我的NUnit測試項目,我已經下載,安裝並引用了以下NuGet包:
1)NUnit v3.2.1
2)NUnit3TestAdapter v3.0.10
在VS(測試資源管理器)中執行我的測試工作得很好,我認為這些步驟足以確保它們也作為TFS上的CI構建的一部分運行,但測試永遠不會執行。 我在診斷輸出中沒有與這些測試有關的錯誤/警告/消息,但我確實看到構建過程檢測到我的程序集作為單元測試的候選者,因為它與上述通配符規則匹配(** \\ * .test * .DLL)。
我還嘗試將NUnit3TestAdapter程序集放在TFS的構建控制器屬性中定義的“自定義程序集的版本控制路徑”文件夾中,但無濟於事。
任何人都可以看到我在這里錯過了一個步驟。 從我在這些論壇上閱讀的所有內容中,我似乎已經做了所有必要的事情,但它們仍然沒有執行。
我通過直接在包含我的NUnit測試的程序集上運行MSTest,exe(這是TFS構建使用的)來大大簡化了這個問題。 有問題的程序集將適配器和nunit框架都安裝為NuGet包,而且MsTest仍然報告沒有找到任何測試(見下文):
C:\\ Users \\ hdav>“C:\\ Program Files(x86)\\ Microsoft Visual Studio 14.0 \\ Common7 \\ IDE \\ MSTest.exe”/ testcontainer:e:\\MyCode\\nunit\\ExpectedExceptionExample\\bin\\Debug \\ ExpectedExceptionExample.dll
正在加載e:\\ MyCode \\ nunit \\ ExpectedExceptionExample \\ bin \\ Debug \\ ExpectedExceptionExample.dll ...
開始執行......
沒有要執行的測試。
我遇到了同樣的問題,發現測試項目的pbd
文件需要存在才能使適配器發現測試。
雖然.pbd
文件是在本地生成的,但構建(在本例中為TF Build)正在將/p:DebugType=None
開關提供給MSBuild參數。 刪除交換機允許在構建中發現並運行測試。 你的構建定義中有類似的東西嗎?
該問題已被GitHub視為錯誤 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.