pytest使用笔记(一)

[pytest使用笔记(一)]

使用环境及预置条件:pycharm+win10+python3.6+pytest

1,创建示范的测试功能脚本,另存为test_sample.py,代码如下:

`#  test_sample.py``def` `func(x):``  ``return` `x ``+` `1``<br>``def` `test_answer():``  ``assert` `func(``3``) ``=``=` `5``<br>``def` `test_answer1():``    ``assert` `func(``3``) ``=``=` `4`

  

2,使用M-DOS进入test_sample.py脚本存放的同级目录下,输入pytest,显示结果如下:

img

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

运行pytest命令时会运行在当前目录或者子目录中,格式为test_.py或_test.py的文件

3,需要断言一些意料之中的报错时,可以使用raises命令断言异常:

[复制代码](javascript:void(0)😉

# content of test_sysexit.py
import pytest
def f():
  raise SystemExit(1)
def test_mytest():
  with pytest.raises(SystemExit):
    f()

[复制代码](javascript:void(0)😉

4,运行简单模式测试报告:pytest -q

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

img

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

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

img

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

img

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

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

pytest test_mod.py

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

pytest testing/

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

pytest -k "TestClass"

img

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

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

img

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

pytest -m slow
posted @ 2019-08-19 23:11  wzz2500  阅读(200)  评论(0编辑  收藏  举报