学习python单元测试框架nose之---01nose框架初探

来源:互联网 发布:免费啪啪的软件 编辑:程序博客网 时间:2024/05/01 09:37

nose 项目是于 2005 年发布的,也就是 py.test 改名后的一年。它是由 Jason Pellerin 编写的,支持与 py.test 相同的测试习惯做法,但是这个包更容易安装和维护。尽管 py.test 在某些方面有所进步,目前也很容易安装,但是 nose 仍然保持了易用性方面的声誉。支持插件扩展,兼容unittest。

1、安装

pip install nose

2、使用

a、编写简单测试用例

=======================#### file: test.py ####=======================def Testfunc():    assert True
把上面的文件test.py保存到d:\目录下,然后在该目录下在命令行里执行nosetests就可以运行测试了。

或者在命令行里指定文件执行nosetests -v d:\test.py也可以允许测试。

nose会自动查找源文件、目录或者包中的测试用例,符合正则表达式(?:^|[\b_\.%s-])[Tt]est,以及TestCase的子类都会被识别并执行。

b、setUp和tearDown

nose在文件中如果找到函数setup, setup_module, setUp 或者setUpModule等,那么会在该模块的所有测试执行之前执行该函数。如果找到函数 teardown,tearDown, teardown_module或者 tearDownModule 等,那么会在该模块所有的测试执行完之后执行该函数。

执行顺序是setUpModule >setUp >func >tearDown >tearDownModule 

如果需要包的setup和teardown,需要写入__init__.py文件里

c、可以把nose直接导入文件执行,不用在命令行下输入命令

import nosedef TestFunc():    assert Trueif __name__ =='__main__':    nose.main()
d、nosetest常用的命令行参数
  这里只重点介绍几个常用的,其它的参数可以通过nosetests -h进行查看。
  a) -w ,指定一个目录运行测试。目录可以是相对路径或绝对路径。
  例如: nosetest -w c:\pythonTests\Test1,只运行目录c:\pythonTests\Test1下的测试。可以指定多个目录,例如: nosetest -w c:\pythonTests\Test1 -w c:\pythonTests\Test2。
  b)-s,不捕获输出,会让你的程序里面的一些命令行上的输出显示出来。例如print所输出的内容。
  c)-v,查看nose的运行信息和调试信息。例如会给出当前正在运行哪个测试。


0 0