python 命令行执行单元测试unittest

unittest 单元测试是开发中的重要环节, python 也比较方便

环境搭建

对于有自定义包package的项目, 需要指定包路径, 有两种方式

  1. 使用sys.path, 但这种需要每个次运行其它文件的时候要执行一次
   sys.path本身是多个地址的列表。
   sys.path.append():添加一个地址
   sys.path += [directory's list] :添加多个地址(或者也可以用sys.path.extend())
   sys.path.remove() 去掉地址

例如

# 在项目执行入口文件顶部
import sys
sys.path.append('/path/to/a:/path/to/b')
  1. 设置条件变量 PYTHONPATH
    将package的路径添加到PYTHONPATH

  2. 至于怎么自定义包,这涉及python的namespace, 不展开
    https://www.python.org/dev/peps/pep-0420/

执行测试

python -m unittest MODULE/CLASS/FUNCTION 

因为unittest的文件都是以test_开头,所以module 是去掉test_部分的名称

如果不知道哪个用例,可以 -v 查找

python -m unittest -v

性能测试

有时候,我们不仅通过单元测试保证代码的准确性, 而且还可以通过 cProfile 来定位 perf penalty , 即定位到性能损失的地方
使用cPerf 可以检查性能

python -m cPerf 

不仅如此,还可以通过比如kcachegrind 这样的大型工具来统计perf

总结

可见 python 是非常方便的

posted @ 2020-03-06 21:36  SnailRush  阅读(1646)  评论(0编辑  收藏  举报