7

Jenkins が受け入れる JUnit XML 形式でテスト結果を生成するスクリプトに取り組んでいます。

このトピックに関する StackOverFlow のいくつかの回答を読みました: Hudson がサポートする JUnit XML フォーマット仕様Spec. JUnit XML 出力用ですが、これらのどれも「テストスイート」の属性またはオプションの詳細については言及していません。

「テストスイート」の下のすべての「テストスイート」から「テストケース」の総数、失敗した「テストケース」の総数、スキップされた「テストケース」の総数を表示したいと思います。

すなわち<testsuites *something to add here to include the info demanded*>...</testsuites>

それを達成する方法はありますか?

どんな助けでも大歓迎です!

4

4 に答える 4

3

情報はジェンキンスによって自動的に計算されると思います。そうでない場合は、わざわざ追加しないでください。とにかく表示されません。

この種のものをデバッグする方法に関する便利なヒントを次に示します。シェル/バッチビルドステップでファイル( jUnit.xmlと呼びます)に「触れる」ジョブ( jUnitReportという名前を付けます)を作成します。「JUnitテスト結果レポートの公開」を追加し、「テストレポートXML」編集ボックスでjUnit.xmlを指定します。ジョブを1回実行すると、ワークスペースが作成されます。次に、テストする有効なjUnit.xmlをワークスペースに配置します。ジョブを再度実行して、テスト結果がどのように見えるかを調べます。

「タッチ」ステップを削除しないことが重要です。削除しないと、Jenkinsはテスト結果を古くなったと見なし、ビルドに失敗します。

これで、実際のテストを実行せずにjUnit.xmlで遊んで、 Jenkinsが表示する結果にどのように影響するかを調べることができます。

于 2012-07-18T08:45:03.883 に答える
1

私はPythonでこれを行いました。だから私はpythonであなたに言うことができます。xmlrunner というパッケージをインポートする

import xmlrunner

class ABC(unittest.TestCase)
asserts/tests..
...

if __name__ == "__main__":
   suite = unittest.TestLoader().loadTestsFromTestCase(ABC)
   xmlrunner.XMLTestRunner().run(suite)

ここで、jenkins マシンでビルド後のアクションに移動します。[JUnit テスト結果レポートを発行する] の横にあるチェック ボックスをクリックし、xml ファイルへのパス名を指定します。(**/test.xml)

ビルドを保存して、詳細な結果を確認する必要があります。それが役に立てば幸い。

于 2012-07-17T21:28:14.307 に答える
0

同様のものを探していますが、ほとんどの場合、デフォルトのjunitプラグインを使用することはできず、この情報を解析しません

このプラグインのソース コードhttps://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/tasks/junit/SuiteResult.java#L125を確認できます。

junit プラグインをフォークして拡張できます。

于 2012-11-24T06:40:54.510 に答える