6

我在进行鼻子测试并在 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失败时文件充满了一个错误,但除此之外,什么都没有......

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

谢谢。

4

2 回答 2

6

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

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

于 2012-04-12T19:05:55.110 回答
1

自 2011 年以来, Nose 一直有一个开放且未解决的 GitHub 问题。正如@sti 所说,如果你不使用--processes. 对于其他所有人,请考虑改用Ignas/nose_xunitmp

pip install nose_xunitmp
nosetests --with-xunitmp
nosetests --xunitmp-file results.xml
于 2018-04-17T18:11:19.067 回答