python的pytest框架

发布时间 2023-04-10 18:26:04作者: yanmay

pytestunittest的区别:

1.安装需求不同。pytest为第三方单元测试库,需额外安装;unittest为标准库,无需额外安装。

2.用例编写规则不同。pytest编写规则较为简单,兼容性较好;unittest需按照固定的格式编写,较为复杂。

 

Pytest 是 python2 自带的自动化测试框架,python3 的版本的话 pytest 框架独立出来,需要 pip 进行安装

 

pip install  pytest

 1、测试文件以 test_xx.py 命名需要以 test_开头(或_test 结尾);

2、测试类以 Test_开头,并且不能带有 init 方法;

3、测试函数或方法以 test_xx 开头;

 

一、编写测试用例:

pytest 执行时默认是执行指定路径下以test_开头或者以_test 结尾的文件里的测试类或者方法,默认是执行以 Test_开头的类和 test_开头的方法。

 

 

二、断言

pytest 一共有五种断言:

assert xx           判断 xx 为真
assert not xx       判断 xx 不为真
assert a in b         判断 b 包含 a
assert a == b          判断 a 等于 b
assert a !=b         判断 a 不等于 b

 

 

三、用例执行

使用命令行执行

cmd 窗口,然后执行 pytest 文件路径/测试文件名例如 pytest  ./test_tt.py

如果当前路径已经是放测试用例文件的文件夹下,想要测试文件,则直接可以  输入pytest 测试文件名 即可:

如果只输入 pytest,则会默认执行当前文件夹下所有以 test_开头(或_test 结尾)的文件

如果提示pytest不是内部或者外部命令 在cmd下输入:pip install -U pytest    即可

 

pytest  -v  test_demo1.py    

输出用例详细的执行信息

 

 IDE(PyChram)执行

执行当前文件所在路径下的文件,指定文件名则执行指定的文件,若没指定,执行所有 test_开头或者_test 结尾的文件。