我在运行鼻子测试时遇到问题并在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
失败时文件中出现了一个错误,但除此之外没有...
有什么想法吗?测试方面有什么特别的事吗?要设置的任何属性吗?
感谢。
答案 0 :(得分:5)
据我所知,--processes
选项与--with-xunit
不兼容。当您要求nosetests使用processes插件运行时,测试将在指定数量的子进程中运行。 xunit插件不知道如何将结果收集到xml文件中。
只需删除--processes
选项,您就可以了。
答案 1 :(得分:1)
自2011年以来,Nose已经有open and unresolved GitHub issue。正如@sti所说,如果你不使用--processes
,一切正常。对于其他人,请考虑改为使用Ignas/nose_xunitmp:
pip install nose_xunitmp
nosetests --with-xunitmp
nosetests --xunitmp-file results.xml