当未配置Nose2

时间:2017-07-28 14:25:05

标签: python-3.x nose2

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

更新

我安装了nose而不是nose2,然后运行nosetests --with-xunit并且它完全符合我的要求,证明问题不在于我的代码,而在于我如何处理nose2。我仍然想知道如何用nose2实现同样的东西,因为看起来nose2最终将逐渐淘汰鼻子,我宁愿早点而不是晚点转换。

当前设置

我目前正在运行nose2,它会查找并运行我所有的Python 3.6单元测试并运行它们。他们目前都在路过。我只是将此输出重定向到文件,我可以打开文本文档并查看Ran X tests in Y.ZZZs行,它表示我的所有测试都已通过。

目的

我需要将其导出为其他格式(目前正在尝试XML插件),以便稍后我可以构建一个Web界面。如果不是XML,可能是HTML,JSON,或YML,或者那种程度的东西。

尝试

  • 根据the (likely misinterpreted) docs,当通过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
    

1 个答案:

答案 0 :(得分:0)

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