测试驱动编程 先编写测试程序再编写代码
需求说明——测试程序——代码
测试尽可能覆盖尽量多的代码 代码覆盖度工具 trace.py (python基础教程 P279)
测试工具:
doctest
https://my.oschina.net/lionets/blog/268542
import doctest
doctest.testmod(verbose=True)
doctest.testfile('example.txt')
$ python -m doctest -v example.py
$ python -m doctest -v example.py
unitest
测试类继承 unittest.TestCase
setUp() & tearDown()
测试类以test开头
TestCase实例的方法...
with self.assertRaises(ErrorType):
value = d['empty'] #断言该句执行会引发ErrorType异常
$ python -m unittest test1 test2 test3
坑
“”“”“”包含的注释不要放在代码内部,易引发缩进异常
setUp tearDown 无反应...解决:使用命令行运行test脚本
module结尾有 if __name__ == "__main__": pass 时,module文件以相对路径导入会出错。
网友评论