10

QtユニットテストプロジェクトにJenkinsxUnitプラグインを使用しようとしていますが、機能させることができません...

これが私がこれまでにしたことです:

まず、qmakebuilderプラグイン(qmakebuilderプラグインに.proを提供)を使用して単体テストプロジェクトをビルドし、次にExecute Shellビルドセクションを追加して、最初rm -fにtestResult xmlファイルを追加し、続いてテストを実行しますフラグ付きのバイナリで-xunitxmlxmlファイルを生成します。xmlファイルに名前を付けます。言い換えると、次のようになりますtestResult.xml

rm -f /home/guest/QT/unitTest/testResult.xml
cd /home/guest/QT/unitTest
./tst_unittesttest -xunitxml > testResult.xml

最後に、ビルド後のアクションでPublish xUnit test result、パターンを選択して指定します*.xml

ただし、ジョブのビルドは失敗します。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

ご覧のとおり、テスト結果のxmlファイルをxUnitプラグインが読み取れるものに変換する際に問題が発生します。testResult.xmlファイルは次のようになります。

<?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>

ただしTEST--735044756.xml、1行のxmlファイルです。<?xml version="1.0" encoding="UTF-8"?>

誰かが私が何を間違っているのか手がかりを持っていますか?出力xmlファイルの生成に問題があるはずです。

別の注意点として、システムログのJenkinsメニューにlogthingiを追加しましたが、この問題の理由ではないようです...少なくともIMO

4

1 に答える 1

9

フラグを使用してテストバイナリを実行すると、-xml正常に機能します。奇妙なことに使用すると、属性を持たない-xunitxml破損したxmlファイルが作成されます。テストバイナリを実行すると、ジョブが正常にビルドされます。<testcase>time-xml

于 2012-11-12T08:34:21.877 に答える