【转自】http://blog.sina.com.cn/s/blog_63041bb80101bq2o.html
nose官网:http://readthedocs.org/docs/nose/en/latest/index.html
nose内置插件列表:http://readthedocs.org/docs/nose/en/latest/plugins/builtin.html
nose第三方插件列表:https://nose-plugins.jottit.com/
基本命令:
查看帮助:$ nosetests -h
查看已安装的插件:$ nosetests --plugins
官网:http://nosexunit.sourceforge.net/ 【生成可支持Hudson使用的xml格式的测试结果】
下载:wget http://pypi.python.org/packages/source/n/nose/nose-1.0.0.tar.gz#md5=47a4784c817afa6ef11a505b574584ed
解压:tar xzvf nose-1.0.0.tar.gz
使用root权限安装:
# su
# python setup.py install
使用root用户登录
1) sh setuptools-0.6c11-py2.7.egg
2) easy_install nosexunit
search用户需要重新登录方可生效
1) 可以直接在nosetests命令后面增加“ --with-xunit ” 来将结果输出到当前目录的nosetests.xml文件中,如:
nosetests --with-xunit
2) 另外,根据需要还可以使用“ --xunit-file ” 参数随意指定结果输出路径和文件名,如:
nosetests --with-xunit --xunit-file=result/test.xml
-w,指定一个目录运行测试。目录可以是相对路径或绝对路径。
-s,不捕获输出,会让你的程序里面的一些命令行上的输出显示出来。例如print所输出的内容。
-v,查看nose的运行信息和调试信息。例如会给出当前正在运行哪个测试。
Jenkins自动化测试项目在进行“构建”时,大致的流程如下:
1、从相应的SVN路径check out程序源码,放在测试机~/.jenkins/workspace/项目名 目录下;
2、根据用户配置的Test Execution,在测试机上执行测试,并在本次执行的“命令行输出”打印相应的执行结果;
3、解析“2”中得到的测试结果(一般为JUnit test report形式),根据“Invoke Testlink”中配置的与Testlink的对应关系,将相应的测试用例的执行结果写入Testlink数据库;
4、如果配置了“Attach JUnit XML”,则将测试结果的xml文件以附件的形式上传到Testlink数据库。
注:从Jenkins导入的Testlink测试执行结果的执行人为“admin”
======================================================================
ERROR: test suite for
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/python/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg/nose/suite.py", line 208, in run
self.setUp()
File "/usr/local/python/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg/nose/suite.py", line 291, in setUp
self.setupContext(ancestor)
File "/usr/local/python/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg/nose/suite.py", line 314, in setupContext
try_run(context, names)
File "/usr/local/python/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg/nose/util.py", line 478, in try_run
return func()
File "/application/.../script/test_parser.py", line 26, in testcase123
parser.parser("../data/out123",1)
AttributeError: 'module' object has no attribute 'parser'
解决方法:
在parser.py所在目录下增加空文件 __init__.py