【问题标题】:python nose xunit report file is emptypython鼻子xunit报告文件为空
【发布时间】:2012-04-12 09:29:14
【问题描述】:

我在运行鼻子测试并在 Jenkins 中获得结果时遇到问题。

该作业有一个这样的 shell 脚本:

. /var/lib/jenkins/envs/itravel/bin/activate
python api/manage.py syncdb --noinput
DJANGO_SETTINGS_MODULE=ci_settings nosetests --verbosity=0 --processes=1 --with-xunit --xunit-file=nosetests.xml
deactivate

部分测试套件使用 django_nose.NoseTestSuiteRunner 运行。

所有测试都运行并创建了生成的 nosetests.xml 文件,但似乎没有填充测试结果:

<?xml version="1.0" encoding="UTF-8"?><testsuite name="nosetests" tests="0" errors="0" failures="0" skip="0"></testsuite>

我注意到在 import Error 失败时,该文件充满了一个错误,但除此之外,什么都没有......

有什么想法吗?测试方面有什么特别的事情要做吗?有什么要设置的属性吗?

谢谢。

【问题讨论】:

    标签: python jenkins nose xunit


    【解决方案1】:

    据我所知,--processes 选项与--with-xunit 不兼容。当您要求 nosetests 与 processes 插件一起运行时,测试会在指定数量的子进程中运行。 xunit 插件不知道如何将结果收集到 xml 文件中。

    只需删除 --processes 选项就可以了。

    【讨论】:

      【解决方案2】:

      自 2011 年以来,Nose 一直为此使用 open and unresolved GitHub issue。正如 @sti 所说,如果您不使用 --processes,一切都会正常工作。对于其他所有人,请考虑改用Ignas/nose_xunitmp

      pip install nose_xunitmp
      nosetests --with-xunitmp
      nosetests --xunitmp-file results.xml
      

      【讨论】:

        猜你喜欢
        • 2019-10-25
        • 1970-01-01
        • 2016-11-26
        • 2014-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-16
        • 2016-05-03
        相关资源
        最近更新 更多