簡體   English   中英

如何使用 Jenkins 運行 XUnit 測試

[英]How to run XUnit Tests with Jenkins

我剛剛開始使用 XUnit 並配置 Jenkins,我想問一下是否有一種方法可以運行由 Jenkins 直接啟動的 XUnit 測試,而不是使用 Windows 批處理命令啟動 XUnit 的控制台運行程序。

我知道有可能通過 Console Runner 執行 Windows 批處理命令來運行 XUnit 測試,但我正在尋找一個插件/例如包括 XUnit Runner 的任何內容,您只需要指向 dll 以便他開始測試並處理 XML 輸出。

不,沒有用於執行 xUnit.net 測試的 Jenkins 插件。

最簡單的方法是在 Jenkins 作業中運行 Windows 批處理命令。

您至少可以使用xUnit 插件來解析來自 xUnit.net 的測試結果 XML 文件,並根據所有測試是否通過來更新構建結果。

您可以使用 xUnit Jenkins 插件使其工作。

1) 安裝了 xUnit 插件。
2)在您的管道中保存一個帶有 xUnit 結果的 xml 文件(我使用https://github.com/Faizan2304/LoggerExtensions使其與“dotnet test”命令一起工作)。
3)使用此代碼發布結果:

step([$class: 'XUnitBuilder',
    thresholds: [[$class: 'FailedThreshold', unstableThreshold: '1']],
    tools: [[$class: 'XUnitDotNetTestType', pattern: '{path to your xml file}']]])

xUnit Jenkins 插件現在支持 xUnit.net

版本 1.93
* 添加了對 xUnit.net v2 的支持

提供的答案真的很有幫助,但我沒有設法使用 xUnitPlugin,所以我依靠ReportUnit來生成結果。

  1. 將 NunitXml.TestLogger添加到測試項目中,以便能夠將其用作自定義記錄器

  2. [Windows 批處理命令] 運行測試並生成“NUnit”樣式的輸出:

     dotnet test "project.csproj" --no-build --verbosity normal --logger:"nunit;LogFilePath=xunit_results.xml"
  3. [Windows 批處理命令] 根據之前的輸出生成報告

    "path_to_report_unit\\ReportUnit.exe" "path_to_results\\xunit_results.xml" "path_to_results\\xunit_results.html"

如果需要,html 可以很容易地嵌入到一些電子郵件中(例如,可編輯電子郵件通知 -> 觸發器 -> 將附件模式設置為**\\*xunit*.html

像這樣的事情會起作用:

bat'For /R .\\Tests\\ %%G IN (bin\\release\\*.test.dll) do packages\\xunit.runner.console.2.4.1\\tools\\net461\\xunit.console.x86.exe "% %G" -junit "%%~nG.xml"'

此腳本對“Tests”文件夾中的所有 xunit dll 運行測試。 它還將在junit中輸出測試結果,因此您可以通過以下行簡單地發布到Jenkins

junit '*.Test.xml'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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