使用环境及预置条件: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使用笔记(一)-LMLPHP

到此可以清楚的看到是哪个用例发生错误,以及错误内容,用例执行结果及用例运行总时间。

运行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

完整模式与简单模式对照截图如下:

pytest使用笔记(一)-LMLPHP

5,在第N个错误时终止测试:

pytest -x:在第一个测试用例发生错误时就停止运行,pytestpytest -x 效果对照图如下:

pytest使用笔记(一)-LMLPHP

pytest --maxfail=2,在第2个测试用例发生错误时就停止运行,截图如下:

pytest使用笔记(一)-LMLPHP

6,选择执行特定的测试用例:

(1)运行单个文件的用例,test_mod.py就是要执行的测试用例文件:

pytest test_mod.py

(2)运行在同一个文件夹内的所有用例,testing/就是要执行测试用例所在的文件夹:

pytest testing/

(3)运行某些包含关键字的用例,如包含TestClass的用例:

pytest -k "TestClass"

pytest使用笔记(一)-LMLPHP

(4)运行某一文件内特定模块的用例:

TestClass是第一个class的名称,运行pytest test_class.py::TestClass会运行TestClass类下用例

pytest使用笔记(一)-LMLPHP

(5)运行用@ pytest.mark.slow装饰器修饰的用例:

pytest -m slow
05-11 20:44