使用环境及预置条件:pycharm+win10+python3.6+pytest
1,创建示范的测试功能脚本,另存为test_sample.py,代码如下:
# test_sample.py
def func(x):
return x + 1
def test_answer():
assert func(3) == 5
def test_answer1():
assert func(3) == 4
2,使用M-DOS进入test_sample.py脚本存放的同级目录下,输入pytest,显示结果如下:
到此可以清楚的看到是哪个用例发生错误,以及错误内容,用例执行结果及用例运行总时间。
运行pytest命令时会运行在当前目录或者子目录中,格式为test_*.py或*_test.py的文件
3,需要断言一些意料之中的报错时,可以使用raises命令断言异常:
# content of test_sysexit.py
import pytest
def f():
raise SystemExit(1)
def test_mytest():
with pytest.raises(SystemExit):
f()
4,运行简单模式测试报告:pytest -q
完整模式与简单模式对照截图如下:
5,在第N个错误时终止测试:
pytest -x:在第一个测试用例发生错误时就停止运行,pytest与pytest -x 效果对照图如下:
pytest --maxfail=2,在第2个测试用例发生错误时就停止运行,截图如下:
6,选择执行特定的测试用例:
(1)运行单个文件的用例,test_mod.py就是要执行的测试用例文件:
pytest test_mod.py
(2)运行在同一个文件夹内的所有用例,testing/就是要执行测试用例所在的文件夹:
pytest testing/
(3)运行某些包含关键字的用例,如包含TestClass的用例:
pytest -k "TestClass"
(4)运行某一文件内特定模块的用例:
TestClass是第一个class的名称,运行pytest test_class.py::TestClass会运行TestClass类下用例
(5)运行用@ pytest.mark.slow装饰器修饰的用例:
pytest -m slow