Pythonのunittestモジュールは、テスト結果をXML形式で出力する機能を提供しています。これにより、ビルドシステム、IDE、継続的インテグレーションサーバなど、幅広いツールでテスト結果を利用することが可能になります。
unittest-xml-reportingのインストール
まずは、unittest-xml-reportingをインストールします。以下のコマンドを実行します。
pip install unittest-xml-reporting
テストの実行と結果の保存
次に、unittest.main()を使用してテストを実行し、結果をメモリに保存します。
import io
import unittest
import xmlrunner
out = io.BytesIO()
unittest.main(
testRunner=xmlrunner.XMLTestRunner(output=out),
failfast=False, buffer=False, catchbreak=False, exit=False
)
結果の変換と保存
最後に、結果を変換して余分な属性を削除し、XMLファイルに保存します。
from xmlrunner.extra.xunit_plugin import transform
with open('TEST-report.xml', 'wb') as report:
report.write(transform(out.getvalue()))
以上で、PythonのunittestでXMLレポートを生成する方法について説明しました。この情報が役立つことを願っています。