Fraser的答案很好,您需要一些額外的處理將gtest XML轉換爲正確的JTest格式。
首先,你問GTEST輸出結果XML使用:
mygtestapp --gtest_output=xml:gtestresults.xml
然後在腳本中,你需要添加額外的元素,以正確的標誌跳過的測試本身。詹的JTEST處理器需要一個跳過的測試包含<跳過>元素,而不僅僅是設置狀態爲「notrun」:
awk '{ if ($1 == "<testcase" && match($0, "notrun")) print substr($0,0,length($0)-2) "><skipped/></testcase>"; else print $0;}' gtestresults.xml > gtestresults-skipped.xml
mv gtestresults.xml gtestresults.off
如果Windows批處理文件運行此,把awk的行動文件,以避免出現問題裏面與報價。 awk.progfile:
{ if ($1 == "<testcase" && match($0, "notrun")) print substr($0,0,length($0)-2) "><skipped/></testcase>"; else print $0;}
,並創建你的bat文件添加:
awk -f awk.progfile gtestresults.xml > gtestresults-skipped.xml
最後你點JTEST處理器作爲後生成步驟來讀取XML轉換:
# Publish JUnit Test Result Report
Test Report XMLs: gtestresults-skipped.xml
是否result.xml位於工作空間根目錄中?如果你瀏覽你的工作區,你應該能夠找到它所在的結果文件。 – Arnestig 2012-07-18 12:28:40
@sti:我添加了確切的錯誤,Jenkins的工作空間根在哪裏? – 2012-07-19 01:17:11