我正在尝试将HTMLTestRunner配置为在调用多个测试类时输出到单个文件,但经过多次阅读后我无法实现此目的。
我正在做的一个例子是:
class TestOne(unittest.TestCase):
def test_one_is_one(self):
one = 1
self.assertEqual(1, one)
class TestTwo(unittest.TestCase):
def test_two_is_two(self):
two = 2
self.assertEqual(2, two)
然后我将这些添加到测试套件中并运行HTMLTestRunner,如下所示:
output = 'C:\\Reports\TestReport.html'
test_suite = unittest.TestSuite(unittest.TestLoader().loadTestsFromModule(Tests))
runner = HTMLTestRunner(output=output)
runner.run(test_suite)
然而,当这样运行时,我会生成两个HTML文件,一个用于TestOne,另一个用于TestTwo。
我环顾四周,其他一些例子我也遇到过使用:
with open(output, 'wb') as o:
runner = HTMLTestRunner(output=o)
runner.run(test_suite)
然而,HTMLTestRunner似乎不再支持此功能。
我可能会追求什么?
我非常喜欢生成的报告,但我真的不想处理大量需要合并在一起或单独查看的小型HTML文件。
其他信息: 我正在使用Python 3.5和HTMLTestRunner 1.0.3
答案 0 :(得分:2)
我知道这是一张旧票,但认为值得分享以下信息。
我想做与原始问题相同的事情,即整个测试套件的单个 HTML 报告。在最新版本的 HtmlTestRunner(使用 pip install html-testRunner
安装)中,可以使用以下选项:
combine_test_reports=True
。
可以如下使用:
html_runner = HtmlTestRunner.HTMLTestRunner(
stream=output_file,
combine_reports=True,
report_title='HTML test runner report')
答案 1 :(得分:0)
Lw246,
我看到两个htmltestrunners。您使用的1.0.3版本似乎有所不同,并且仍处于测试版。作者称它为html-testrunner,带有' - '
tungwaiyip的原始htmlrunner被称为'htmltestrunner'而没有' - ',它已经与新版本分叉。你可以在这里看到它:I got 99 problems, but they’re all due to template over-instantiation | Nathan's Blog。
您还可以在此处查看2个不同的htmltestrunners: https://github.com/dash0002/HTMLTestRunner
此外,还有一个htmltestrunner2:)