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 可能是最简单的方法。您可以使用 junit-report 任务,就像这样..

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

另一种方法是使用 XSLT 处理器来编写它。定义一个 xsl 样式表,然后运行它:

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