这可能是初学者的错误,或类似的东西。
我安装了nose而不是nose2,然后运行nosetests --with-xunit
并且它完全符合我的要求,证明问题不在于我的代码,而在于我如何处理nose2。我仍然想知道如何用nose2实现同样的东西,因为看起来nose2最终将逐渐淘汰鼻子,我宁愿早点而不是晚点转换。
我目前正在运行nose2,它会查找并运行我所有的Python 3.6单元测试并运行它们。他们目前都在路过。我只是将此输出重定向到文件,我可以打开文本文档并查看Ran X tests in Y.ZZZs
行,它表示我的所有测试都已通过。
我需要将其导出为其他格式(目前正在尝试XML插件),以便稍后我可以构建一个Web界面。如果不是XML,可能是HTML,JSON,或YML,或者那种程度的东西。
nose2 --plugin nose2.plugins.junitxml.JUnitXmlReporter
从命令行调用时,我得到ModuleNotFoundError: No module named 'nose2.plugins.junitxml.JUnitXmlReporter'; 'nose2.plugins.junitxml' is not a package
nose2 --plugin nose2.plugins.junitxml
将运行并传递我的所有测试但不会将结果导出到我当前位置,主页或测试目录中的XML,因此我假设它根本不存在。 nose2 --config nose2.cfg
(我和配置都在我的sources目录中)将导致所有测试失败导致无法导入我编写的任何模块(意味着它成功导入模块)从解释器,包括我已经填写的那些,所以我假设它正在使用正确的虚拟环境。),但它会将这些失败输出到我当前位置的XML。我的配置如下:
[unittest]
start-dir = . <-- My source directory, with "tests" as a sub of it
plugins = nose2.plugins.junitxml
code-directories = .
tests/
[junit-xml]
always-on = True
path = nose2-junit.xml
答案 0 :(得分:0)
在nose2中激活xunit报告的正确方法是使用-X
或--junit-xml
切换而不是--plugins
选项。