PPT
https://pdf.ceshiren.com/jy2/jy2_pytest
代码地址
学习路线
pytest 学习路线.xmind.zip (241.3 KB)
测试用例
计算器测试用例.xlsx.zip (10.7 KB)
第一道题目
第二道题目(难度)
1、使用参数化来简化测试用例,将测试数据以参数的形式传递到测试用例中
2、将测试数据保存到 datas/data.yml
3、创建读取数据的方法(注意编码格式)
实现参数化的注意点
1、如何划分参数化的用例
课后反馈
‘’'from func.calculator import Calculator
class Testcalc(Calculator):
def setup_class(self):
print(‘开始测试’)
def setup(self):
print(‘开始计算’)
def teardown(self):
print(‘停止计算’)
def teardown_class(self):
print(‘结束测试’)
def test_add1(self):
assert Calculator.add(self,a=1,b=1)==2
def test_add2(self):
assert Calculator.add(self,a=-0.01,b=0.02)==0.01
def test_add3(self):
assert Calculator.add(self,a=10,b=0.02)==10.02
def test_add4(self):
assert Calculator.add(self,a=98.99,b=99)==197.99
def test_add5(self):
assert Calculator.add(self,a=99,b=98.99)==197.99
def test_add6(self):
assert Calculator.add(self,a=-98.99,b=-99)==-197.99
def test_add7(self):
assert Calculator.add(self,a=-99,b=-98.99)==-197.99
def test_add8(self):
assert Calculator.add(self,a='文',b=9.3)=='参数大小超出范围'
def test_add9(self):
assert Calculator.add(self,a=4,b='字')=='参数大小超出范围''''
1、python 定义类 class
2、定义测试类 命名要以Test开头
3、定义类和方法结束位置要加:
4、if else 里面的语句要缩进
xixi-tech:
使用参数化来简化测试用例,将测试数据以参数的形式传递到测试用例中
2、将测试数据保存到 datas/data.yml
3、创建读取数据的方法(注意编码格式)
import pytest
import yaml
def get_data():
file=open('../data/data1.yml','r',encoding='utf-8')
a=yaml.safe_load(file)
return a
from func.calculator import Calculator
class Testcalc():
def setup_class(self):
print('开始测试')
def setup(self):
print('开始计算')
def teardown(self):
print('停止计算')
def teardown_class(self):
print('结束测试')
@pytest.mark.parametrize('a,b,expected',get_data())
def test_add1(a,b,expected):
cal=Calculator()
assert cal.add(a,b)==expected
import pytest
import yaml
from pythonsource.calculator import Calculator
class TestCalc:
def setup(self):
print("开始计算!")
def teadown(self):
print("计算结束!")
def teadown_class(self):
print('结束计算')
with open('../datas/data.yaml',encoding='utf-8') as f:
datas = yaml.safe_load(f)
print(datas)
@pytest.mark.parametrize('a,b,c',datas)
def test_add1(self,a,b,c):
cal = Calculator()
result = cal.add(a,b)
assert result == c
需要优化的点:
1、文件打开 没关闭
2、类里面的方法参数要有self