2013-05-14 72 views
17

我在這方面做了一些Google搜索,並發現許多關於讓Jenkins理解boost.test的XML輸出格式的討論,但沒有規範的參考。使用Jenkins和boost.test單元測試

有人說我們只需要使用XLST來轉換XML格式,其他人則認爲XML在這之前需要一些黑客(Anyone have an XSL to convert Boost.Test XML logs to a presentable format?)。有人建議xUnit插件can原生理解boost.test XML格式,其他state it can't

因爲我的搜索結果跨度5年,我意識到事情可能已經改變。所以我正在尋找最新回答關於使用Jenkins運行和評估增強單元測試的最佳方法。

+1

正如我所說的,最新的是這裏的關鍵...請不要自動點擊「重複按鈕」爲一個2歲的問題,除非你確定這仍然是最新的信息。 – 2013-05-14 08:01:00

+0

你有沒有想過xUnit插件是否可以解析它?你有沒有想過使用鏈接問題中的xslts? – 2013-05-14 08:19:51

+0

如果一些舊的方式仍然有效,這不會是新聞,但這並不意味着它是最好的方式。 – 2013-05-14 08:30:31

回答

24

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

正如xUnit plugin comments建議,我與運行加速測試程序:

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

我有我的生成後的xUnit步配置解析results.xml與BoostTest-1.x的格式。

如果您仍然遇到問題,或許您可以更新您的問題,並提供更多關於您的版本以及如何生成測試輸出的詳細信息。

+0

輝煌 - 這完全取決於傳遞給測試.EXE的參數。精美的作品。 – 2013-05-16 10:58:29

+0

你還應該加上'--result_code = no'。請參閱@安東尼的答案 – 2016-08-10 15:34:34

+0

這不再是一個好的答案,當我剛測試時不再工作。只需使用現在支持的「--log_format = JUNIT」即可。 – Freitags 2018-03-08 17:15:37

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

我添加了一個參數戴夫巴切爾的答案,因爲顯然升壓試驗使用非零退出代碼來表示測試失敗,但詹金斯解釋這是一個更根本的失敗,從而阻止不處理測試結果。

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

你應該發表評論給Dave Bacher的答案,而不是創建一個新的答案。 – 2015-02-20 12:14:10

+1

如果我有相關的評論權限,那也是我的偏好。 – Antony 2015-02-20 12:57:31

0

好吧,通常它可以使用這個選項。但是,如果您在大型項目中使用它,並且XML文件變得太大,則XUnit插件不再適用。 所以我不得不將log_level更改爲test_suite。只記錄錯誤,成功的檢查不記錄。

相關問題