Tôi cố gắng để sử dụng Jenkins xUnit plug-in cho dự án đơn vị kiểm tra Qt của tôi, nhưng tôi không thể làm cho nó hoạt ...Hiển thị kết quả của QTestlib với Jenkins xUnit plug-in
Dưới đây là những gì tôi đã thực hiện cho đến nay:
trước hết, tôi xây dựng dự án thử nghiệm đơn vị của tôi với qmakebuilder plug-in (cung cấp .pro để các plug-in qmakebuilder), sau đó tôi thêm một Execute Shell
xây dựng phần nơi tôi lần đầu tiên rm -f
các testResult xml tệp, sau đó, tôi chạy nhị phân thử nghiệm với -xunitxml
cờ để có nó tạo ra các tập tin xml cho tôi Và tôi tên tập tin xml testResult.xml
, nói cách khác:
rm -f /home/guest/QT/unitTest/testResult.xml
cd /home/guest/QT/unitTest
./tst_unittesttest -xunitxml > testResult.xml
Cuối cùng trong hành động xây dựng bài đăng, tôi chọn Publish xUnit test result
và chỉ định mẫu là *.xml
.
Xây dựng công việc sẽ thất bại mặc dù, đây là sản phẩm mà tôi nhận được khi xây dựng công việc với Jenkins:
[xUnit] [INFO] - Starting to record.
[xUnit] [INFO] - Processing QTestlib-Version N/A
[xUnit] [INFO] - [QTestlib-Version N/A] - 1 test report file(s) were found with
the pattern '*.xml' relative to '/home/guest/QT/unitTest' for the testing framework
'QTestlib-Version N/A'.
[xUnit] [ERROR] - The converted file for the result file '/home/guest/QT/unitTest
/testResult.xml' (during conversion process for the metric 'QTestlib') is not
valid.
The report file has been skipped.
[xUnit] [ERROR] - The plugin hasn't been performed correctly: hudson.util.IOException2:
Failed to read /home/guest/QT/unitTest/generatedJUnitFiles/QTestlib/TEST--735044756.xml
Build step 'Publish xUnit test result report' changed build result to FAILURE
Build step 'Publish xUnit test result report' marked build as failure
Finished: FAILURE
Như bạn thấy có vấn đề chuyển đổi kết quả xét nghiệm tập tin xml của tôi với những gì xUnit plug- trong có thể đọc. tập tin testResult.xml của tôi trông như thế này:
<?xml version="1.0" encoding="UTF-8" ?>
<testsuite errors="2" failures="0" tests="4" name="UnitTestTest">
<properties>
<property value="4.7.4" name="QTestVersion"/>
<property value="4.7.4" name="QtVersion"/>
</properties>
<testcase result="pass" name="initTestCase">
<!-- message="called before everything else" type="qdebug" -->
</testcase>
<testcase result="pass" name="myFirstTest"/>
<testcase result="pass" name="mySecondTest"/>
<testcase result="pass" name="cleanupTestCase">
<!-- message="called after myFirstTest and mySecondTest" type="qdebug" -->
</testcase>
<system-err>
<![CDATA[called before everything else]]>
<![CDATA[called after myFirstTest and mySecondTest]]>
</system-err>
</testsuite>
nhưng TEST--735044756.xml
là một dòng xml file: <?xml version="1.0" encoding="UTF-8"?>
Bất cứ ai cũng có một đầu mối, nơi tôi làm gì sai? Sẽ có vấn đề với việc tạo tệp xml đầu ra.
Trên một lưu ý khác nhau, tôi đã thêm thingi log trong hệ thống đăng nhập đơn Jenkins, nó dường như không thể là lý do cho vấn đề này mặc dù ... ít nhất IMO
Tôi nghĩ nó phụ thuộc vào định dạng bạn chọn trong cấu hình của plugin xUnit. Định dạng "QTestLib-Version N/A" (được thêm vào trong phiên bản 1.50 của plugin) dự kiến định dạng '-xml' của QTestLib. – Ignitor