teamcity中的python nose测试报告
我有一个脚本调用teamcity中的python nose测试报告,python,unit-testing,teamcity,nose,Python,Unit Testing,Teamcity,Nose,我有一个脚本调用run_test.py,内容如下:- if __name__ == '__main__': nose.main(argv=sys.argv) 运行所有测试非常简单,只需执行以下操作: run_test.py unittests/test_*.py 我现在正试图将此报告的输出输入teamcity。 我指的是这个 我试着按照文档更改我所有的unittests/test.*.py程序。如果以如下方式单独运行测试,则它会起作用:- unittest/test_one.py
run_test.py
,内容如下:-
if __name__ == '__main__':
nose.main(argv=sys.argv)
运行所有测试非常简单,只需执行以下操作:
run_test.py unittests/test_*.py
我现在正试图将此报告的输出输入teamcity。
我指的是这个
我试着按照文档更改我所有的unittests/test.*.py程序。如果以如下方式单独运行测试,则它会起作用:-
unittest/test_one.py
但当它通过鼻子运行时,它不起作用,如下所示:
run_test.py unittest/test_one.py
根据文档链接,它说在TeamCity构建中,nose报告是自动启用的。我不太明白那是什么意思
这里有我遗漏的东西吗
非常感谢您的帮助。谢谢。看一看鼻梁。
它将生成一个xml文件,其结果=>jenkins和teamcity可以使用
告诉您如何在测试脚本中启用插件
if __name__ == '__main__':
argv = sys.argv[:]
argv.insert(1, "--with-xunit")
nose.main(argv=argv)
我终于找到了实现这一目标的方法。 以下是我在run_test.py中修改的内容
#!/usr/bin/env python
import os
import sys
import unittest
from teamcity import is_running_under_teamcity
from teamcity.unittestpy import TeamcityTestRunner
loader = unittest.TestLoader()
start_dir = sys.argv[1]
suite = loader.discover(start_dir, pattern='test_*.py')
#runner = unittest.TextTestRunner()
runner = TeamcityTestRunner(verbosity=2)
runner.run(suite)