当前python的测试框架主要有以下三个:
1)zope.testing
2)py.test
3)Nose
Nose下载:https://github.com/nose-devs/nose
1.Nose安装:
可以自己去上面的链接下载,也可以用easy_install安装,注意,一定先要转到python的scripts目录下面才能安装。
安完毕后,在C:Python27Scripts下会有一个nosetests.exe文件,通过这个exe程序就可以在命令行下运行测试了。把C:Python27Scripts加入环境变量,这样在其它目录中可以直接引用nosetests.exe。
2. 运行测试Nose
在C:Python27Scripts目录下运行nosetests.exe(或者加入Path以后,可以任意地方运行),它就会自动查找当前目录下包含"Test"字符串的目录和文件进行测试。
假设当前目录为:
那么执行nosetests的命令如下:
3. Nose命令行参数
今天继续做这个方面的测试,发现一个现象:在这些测试函数里写的print信息,只有在测试不通过的前提下会被打印出来,通过的测试是不会执行代码里的print代码。
参数-v修改成-s 后,则不捕获输入输出,就会print出结果。
Nose的主要命令行参数有(-h查看帮助):
a) -w ,指定一个目录运行测试。目录可以是相对路径或绝对路径。
例如: nosetest -w c:pythonTestsTest1,只运行目录c:pythonTestsTest1下的测试。可以指定多个目录,例如: nosetest -w c:pythonTestsTest1 -w c:pythonTestsTest2。
b)-s,不捕获输出,会让你的程序里面的一些命令行上的输出显示出来。例如print所输出的内容。
c)-v,查看nose的运行信息和调试信息。例如会给出当前正在运行哪个测试。