已知被测对象demo.py
#!/usr/bin/python # -*- coding: utf-8 -*- def add(a, b): return a+b def minus(a, b): return a-b
1.测试函数案例 test_demo_module.py

- 文件必须要
test_*.py和*_test.py来命名 - 测试case命名必须要
test开头,最好是test_ - 判断使用
assert - setup_module,
所有case执行的前置条件,只运行一次 - teardown_module,
所有case执行的后置条件,只运行一次 - setup_function,
每个测试用例的前置条件 - teardown_function,
每个测试用例的后置条件
2.测试类案例
test_demo_class.py

- 文件必须要
test_*.py和*_test.py来命名 - 测试类命名必须要
Test开头 - 测试case命名必须要
test开头,最好是test_ - 判断使用
assert - setup_class,
所有case执行的前置条件,只运行一次 - teardown_class,
所有case执行的后置条件,只运行一次 - setup,
每个测试用例的前置条件 - teardown,
每个测试用例的后置条件
3. pytest执行命令:
- pytest: 查找当前目录及子目录下所有
test_*.py和*_test.py的测试文件,然后一一执行文件内以test开头的函数。 - pytest ut/: 查找ut目录及子目录下所有
test_*.py和*_test.py的测试文件,然后一一执行文件内以test开头的函数。 - pytest test_demo_class.py: 可以指定
测试文件 - pytest test_demo_module.py::test_add: 执行指定测试文件中的测试case
- pytest test_demo_class.py::TestDemo[::test_add]: 执行指定测试文件中的测试类[中的测试case]
- pytest -k EXPRESSION: 执行和
表达式匹配的测试案例
4. 常用参数
-s : 打印测试案例中print信息
-q : 只显示结果[. F E S], 不展示过程
-x : 遇到失败案例,停止测试
--maxfail=num: 失败num个案例后,停止测试
