python除了unittest,还有一款更快捷的nose,nose可以说是对unittest的一种简化吧
但是他不需要unittest那种必须有固有的格式,他只需要文件,类名,方法名等含有test就可以unittest是需要手动来写discover函数来遍历用例的
-
Name my test modules/files starting with ‘test_’.
-
Name my test functions starting with ‘test_’.
-
Name my test classes starting with ‘Test’.
-
Name my test methods starting with ‘test_’.
-
Make sure all packages with test code have an ‘init.py’ file.
官网地址:http://pythontesting.net/framework/nose/nose-introduction/
https://nose.readthedocs.org/en/latest/index.html
安装
pip install nose
运行:
nosetests [文件]
nosetests [目录]
如果不加目录,默认执行当前目录下的所有符合nose条件的用例,
如果加目录,则运行指定目录里面符合nose条件的用例
常用参数
-v 把运行中的具体过程输出nosetests -v
-s 把测试用例中的print输出打印到控制台,这个调试的时候还是挺方便的
nose的执行规则:
和unittest一样,会优先执行setUP,最后执行tesrDown,和函数的位置没关系
nose里面常用的工具有很多函数,参见https://nose.readthedocs.org/en/latest/testing_tools.html,比如类似unittest的assertEqual
使用方法
from nose import tools
然后看下里面有这么多的方法
assert_almost_equal
assert_almost_equals
assert_dict_contains_subset
assert_dict_equal
assert_equal
assert_equals
.......
参考:http://mp.weixin.qq.com/s?__biz=MjM5OTI2MTQ3OA==&mid=2652178039&idx=4&sn=0d827a99ec7f225e2a74c0e0069553bb&chksm=bcdf823e8ba80b285c6b225b60ffa3e40af8fdf1217d61b6159c9acc76cb49ae193c016fdb65&mpshare=1&scene=1&srcid=1206zuIROr7J7cdsR9n7DXOU#rd