1

这可能是初学者的错误,或类似的东西。

更新

我安装了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
    
4

1 回答 1

0

在nose2中激活xunit报告的正确方法是使用 -X--junit-xml开关而不是--plugins选项。

于 2017-10-31T16:20:13.630 回答