簡體   English   中英

NUnit3測試不在TFS構建上運行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM