3

たとえば、次のように、JUnit スタイルの XML 出力を生成できるテスト フレームワーク ( py.test ) を使用して、非 Java 言語 (Python) でいくつかのユニット/統合テストを行っています。

<?xml version="1.0" encoding="utf-8"?>
<testsuite name="" errors="0" failures="0" skips="4" tests="4" time="75.956">
    <testcase classname="daemon_ping_test.SimpleDaemonTestCase" name="test_daemon_runs_plugin" time="0.000185012817383">
        <skipped type="pytest.skip" message="skipped temporarily">/usr/local/lib/python2.7/dist-packages/pytest-2.1.3-py2.7.egg/_pytest/unittest.py:88: Skipped: skipped temporarily</skipped>
    </testcase>
    <testcase classname="libvirt_handler_test.LibvirtHandlerTestcase" name="test_domain_with_iscsi" time="0.00244903564453">
    </testcase>
    <testcase classname="libvirt_handler_test.LibvirtHandlerTestcase" name="test_libvirt_controller" time="0.00547981262207">
    </testcase>
        <testcase classname="libvirt_handler_test.LibvirtHandlerTestcase" name="test_libvirt_get_vmid_by_storage" time="0.000415086746216">
        <skipped type="pytest.skip" message="temporarily disabled">/usr/local/lib/python2.7/dist-packages/pytest-2.1.3-py2.7.egg/_pytest/unittest.py:88: Skipped: temporarily disabled</skipped>
    </testcase>
    <testcase classname="test_integration.StorageTests" name="test_1_CreateTemplate" time="73.7471599579"></testcase>
    <testcase classname="test_integration.StorageTests" name="test_2_CreateStorageVol" time="0.000442981719971">
        <skipped type="pytest.skip" message="temporarily skipped">/usr/local/lib/python2.7/dist-packages/pytest-2.1.3-py2.7.egg/_pytest/unittest.py:88: Skipped: temporarily skipped</skipped>
    </testcase>
    <testcase classname="test_integration.StorageTests" name="test_3_StorageVolMap" time="0.000404119491577">
        <skipped type="pytest.skip" message="temporarily skipped">/usr/local/lib/python2.7/dist-packages/pytest-2.1.3-py2.7.egg/_pytest/unittest.py:88: Skipped: temporarily skipped</skipped>
    </testcase>
    <testcase classname="test_integration.StorageTests" name="test_4_RemoveTemplate" time="1.97415280342">
    </testcase>
</testsuite>

これらの結果を人間が読める HTML ファイルにレンダリングしたいと思います。それを行うためのツールはありますか?

4

2 に答える 2

2

Ant はおそらくそれを行う最も簡単な方法です。次のようにju​​nit-reportタスクを使用できます..

<junitreport todir="./reports">
   <fileset dir=".">
    <include name="**/*.xml" />
   </fileset>
   <report format="frames" todir="./reports/html" />
</junitreport>
于 2011-12-12T17:35:01.717 に答える
1

もう 1 つの方法は、XSLT プロセッサを使用して書き込むことです。xsl スタイルシートを定義し、次のように実行します。

xsltproc --output tests.html your.xsl path/to/tests.xml
于 2013-08-08T11:45:43.577 に答える