这可能是初学者的错误,或类似的东西。
更新
我安装了nose而不是nose2,然后运行nosetests --with-xunit
它完全符合我的要求,证明问题不在于我的代码,而在于我如何处理nose2。我仍然想知道如何使用nose2 实现相同的目标,因为nose2 似乎最终会逐步淘汰nose,我宁愿早日转换。
当前设置
我目前正在运行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
(我和配置都在我的源目录中)将导致所有测试失败,因为无法导入我编写的任何模块(这意味着它正在从解释器成功导入模块,包括我已经插入的模块)我假设它使用的是正确的虚拟环境。),但它会将这些故障输出到我当前位置的 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