Pythonの unittest-xml-reporting は、unittestのテストランナーで、テスト結果をxUnit形式のXMLファイルに保存することができます。このXMLファイルは、ビルドシステム、IDE、継続的インテグレーションサーバーなど、さまざまなツールで利用できます。

インストール

unittest-xml-reporting はpipを使って簡単にインストールできます。

pip install unittest-xml-reporting

使用方法

以下に、unittest-xml-reporting を使用してテスト結果をXMLに出力する基本的なコードを示します。

import io
import unittest
import xmlrunner

# run the tests storing results in memory
out = io.BytesIO()
unittest.main(
    testRunner=xmlrunner.XMLTestRunner(output=out),
    failfast=False, buffer=False, catchbreak=False, exit=False
)

# Transform the results removing extra attributes.
from xmlrunner.extra.xunit_plugin import transform

with open('TEST-report.xml', 'wb') as report:
    report.write(transform(out.getvalue()))

このコードは、テスト結果をメモリに保存し、その後、結果を変換して余分な属性を削除します。最後に、結果を ‘TEST-report.xml’ ファイルに書き込みます。

注意点

unittest-xml-reporting はPython 3.7以上を必要とします。また、unittest.TestCase.subTest のサポートは限定的で、レポートの中で一部の粒度が失われる可能性があります。

以上が unittest-xml-reporting の基本的な使い方です。これを使うことで、Pythonのunittestの結果をより見やすく、また様々なツールで利用できる形にすることができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です