簡體   English   中英

使用Jenkins和boost.test單元測試

[英]Using Jenkins with boost.test unit tests

我在這個領域做了一些谷歌搜索,發現了許多關於讓Jenkins了解boost.test的XML輸出格式的討論,但沒有規范的參考。

有人說我們只需要使用XLST來轉換XML格式,其他人則建議XML在此之前需要一些黑客攻擊( 任何人都有一個XSL將Boost.Test XML日志轉換為可呈現的格式? )。 有人建議xUnit插件可以原生地理解boost.test XML格式,其他人聲明它不能

因為我的搜索結果是5年,所以我意識到事情可能會發生變化。 所以我正在尋找關於使用Jenkins運行和評估增強單元測試的最佳方法的最新答案。

xUnit解析適用於我使用Jenkins 1.498,xUnit 1.52,boost 1.42。 我有一個使用boost 1.53的新項目,XML輸出格式似乎與我的人性化錯誤傾向的眼睛相同,但由於我尚未在Jenkins中設置單元測試,我不是100確保輸出兼容。

正如xUnit插件注釋中所建議的,我正在運行Boost測試程序:

run_test --log_format=XML --log_sink=results.xml --log_level=all --report_level=no

我將構建后的xUnit步驟配置為使用BoostTest-1.x格式解析results.xml

如果您仍然遇到問題,也許您可​​以使用有關您的版本以及如何生成測試輸出的更多詳細信息來更新您的問題。

run_test --log_format=XML --log_sink=results.xml --log_level=all --report_level=no --result_code=no

我在Dave Bacher的答案中添加了一個參數,因為Boost Test顯然使用了非零退出代碼來表示測試失敗,但Jenkins將此解釋為更基本的失敗,因此在不處理測試結果的情況下停止。

exit 201
Build step 'Execute Windows batch command' marked build as failure`

好的,通常它適用於這個選項。 但是如果你在大型項目中使用它並且XML文件變得太大,那么XUnit插件就不再起作用了。 所以我不得不將log_level更改為test_suite 僅記錄錯誤,不記錄成功的檢查。

暫無
暫無

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

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