Python_单元测试工具nose
一、nose的API
nose的API地址:http://pythontesting.net/framework/nose/nose-introduction/
二、安装nose
先用easy_install 安装 nose,easy_install是一个很好的Python工具,可以方便安装很多的python程序。python2.6及之后的版本,默认带easy_install工具。
安装完easy_install后,在相应版本的Scripts目录下(例如C:/Python26/Scripts)会有一个easy_install.exe程序,通过这个就可以安装其他python包了。在命令行下转到Python的Scripts目录下,执行以下的命令进行安装:
C:/Python26/Scripts/easy_install nose
这样我们可以把所有测试case放在一起,然后让测试自己去运行,我们最后看结果就可以了。我们可以指定具体如何输出结果,也可以指定如何搜索文件和文件夹,还可以把测试结果输入到指定的文件。
三、编写测试
(1)待测试的函数 (name.py)
# -*- coding: utf-8 -*- """ file: name.py """ def get_name(): return "test"
(2)测试脚本(test_tests.py)
# -*- coding: utf-8 -*- from name import get_name def setUp(): print "start" def tearDown(): print "\nend" def test1(): print "test success!" assert get_name() == "test" def test2(): print "\ntest fail!" assert get_name == "kk"
nose在文件中如果找到函数setup, setup_module, setUp 或者setUpModule等,那么会在该模块的所有测试执行之前执行该函数。如果找到函数 teardown,tearDown, teardown_module或者 tearDownModule 等,那么会在该模块所有的测试执行完之后执行该函数。
对于上面的代码,nose实际的执行过程是这样的:
setUp()->test1()->test2()->tearDown()
(3)运行的结果
四、其他
1. nosetests常用的命令行参数
这里只重点介绍几个常用的,其它的参数可以通过nosetests -h进行查看。
a) -w ,指定一个目录运行测试。
b)-s,不捕获输出,会让你的程序里面的一些命令行上的输出显示出来。例如print所输出的内容。
c)-v,查看nose的运行信息和调试信息。例如会给出当前正在运行哪个测试。
2. 此文件的参考:http://blog.csdn.net/linda1000/article/details/8533349