如何使用Python生成Junit输出报告

如何使用Python生成Junit输出报告,python,testing,junit,Python,Testing,Junit,我正在使用Behave on Python测试一个web应用程序。 我的测试套件运行正常,但无法生成junit报告 这是我的behave.ini文件: [behave] junit=true format=pretty 我仅使用以下命令运行behave:behave 运行后,在控制台中打印测试结果,但不生成报告 1 feature passed, 3 failed, 0 skipped 60 scenarios passed, 5 failed, 0 skipped 395 steps

我正在使用Behave on Python测试一个web应用程序。 我的测试套件运行正常,但无法生成junit报告

这是我的behave.ini文件:

    [behave]
junit=true
format=pretty
我仅使用以下命令运行behave:
behave

运行后,在控制台中打印测试结果,但不生成报告

1 feature passed, 3 failed, 0 skipped
60 scenarios passed, 5 failed, 0 skipped
395 steps passed, 5 failed, 5 skipped, 0 undefined
Took 10m17.149s

我能做什么?

我已经做了一些搜索,似乎最简单的方法是通过Jenkins junit插件

在我看来,应该有一种简单的方法将JUnitXML报告转换为人类可读的html格式,但我在任何搜索中都没有找到它。我能想到的最好的方法是一些JUnitBash脚本,但它们似乎没有任何发布功能。它们只生成xml报告

尝试使用

behave --junit
在命令行上,而不仅仅是
行为

此外,您还可以通过以下方式显示可用的选项:

behave --help

确保不更改
步骤
定义中的工作目录(或者在测试结束时将其更改回以前的目录)。 我观察到同样的问题,结果是
reports
目录是在执行其中一个步骤时在我更改的目录中创建的


如果您不想关心工作目录,那么设置
--junit directory
选项可能会有所帮助。这将有助于behave找出报告的存储位置,而不考虑测试结束时的工作目录(尽管我没有测试过)

我观察到behave
1.2.5
中类似的内容。当所有场景都通过时,我会得到报告,但一旦出现故障,就没有报告。Jenkins需要junit XML来生成behave报告。这个问题是关于
behave
即使设置了
--junit
选项,也不生成报告。您的回答有道理,但这里的问题是关于behave.ini文件条目及其是否正确?