RE: Jenkins と Python の連携
pytest の連携
まず、テスト結果のレポートからです。
Jenkins 側へ追加のプラグインのインストールは不要です。
pytest は、実行時にオプションを渡すことで XUnit 形式のレポートを出力できます。
インストール
$ easy_install -ZU pytest
XUnit 形式の XML でテスト結果を出力する
$ py.test --junitxml=pytest.xml test_sample1.py
pytest の使い方は割愛しますが、コマンドから --junitxml オプションを付与することで
XUnit形式のレポートを出力させることができます。
レポート結果の集約には、ビルド後の処理に、JUnitテスト結果の集計 へチェックをいれ、
出力ファイルとなる pytest.xml を入力します。
coverage 連携
カバレッジの出力には、 Python ライブラリの python-coverage 、
pytest プラグインの pytest-cov 、
Jenkins プラグインの Cobertura Plugin が必要です。
Cobertura Plugin のインストールは、 Jenkins の管理コンソールからインストールします。
$ easy_install -ZU coverage $ easy_install -ZU pytest-cov
$ py.test --cov-report xml --cov sample1 test_sample1.py
テスト結果のレポートと同じように、コマンドへオプションを渡すことで
カバレッジ結果を XML で出力します。
ビルド後の処理に、Cobertura カバレッジ・レポートの集計を実行し、出力ファイルを読み込ませます。