pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。
一、安装pytest
pip install pytest
二、界面运行
pycharm中新建test.py文件。
注意事项:否则pytest无法识别。
文件名:必须以test开头或结尾
类名:必须以 Test 为前缀
函数: 必须以test前缀
import pytest
#创建类
class Test1():
#创建测试函数test1
def testA(self):
print("starting...")
#创建测试函数test2
def testB(self):
print("ending....")
#运行模块
if __name__=='__main__':
pytest.main(['-sv','test.py'])
三、命令窗口运行
cd到test.py文件夹目录:
pytest test.py #运行类中的所有函数
pytest -v test.py #显示每个测试函数的执行结果
pytest -s test.py #显示测试函数中print()的输出
pytest -q test.py #显示整体测试结果
pytest test.py::Red::testA #执行指定类中的指定函数
pytest test.py::Red::testA,test.py::Red::testB #执行指定类中的指定的多个函数
pytest -k A test.py #执行函数名中包含关键字“A”的函数
pytest -k "A or B" test.py #执行函数中包含关键字"A"或"B"的函数
输出报告:
pip install pytest-html
pytest test.py --html=report.html --self-contained-html
执行结果及输出报告:
四、参数化应用
import pytest
#创建类
class Test1():
#创建测试函数test1
@pytest.mark.parametrize("user,passwd",[['zhangsna','222'],['lisi','444']])
def test_A(self,user,passwd):
print("starting...")
print(user,passwd)
#创建测试函数test2
def test_B(self):
print("ending....")
#运行模块
if __name__=='__main__':
pytest.main(['-sv','test.py'])
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理