一 pytest简介与安装
def inc(x):
return x+1
def test_answer():
assert inc(3) == 5 #判断 4会不会等5
二 Pytest 命令规则
三 pycharm配置与界面化运行
四 pytest测试用例结构
用例结构
三部分构成
1.用例名称用例步骤 2.编辑 3.断言
五 Pytest 测试用例断言
def test_a():
a = 1
b = 2
expect = 3
assert a + b == expect
def test_str():
assert "abc" in "abcd" # abcd 是否包含在 abc 里面
def test_plat():
assert ('linux' in sys.platform) ,"该代码不在 linux 下运行" #直接报我写的这个错误
六 Pytest 测试框架结构
七 pytest参数化用例
import pytest
search_list =['appium']
# 单参数 的第一个名字 ,第一个如果有多的数字可以放在列表里面
@pytest.mark.parametrize('name',search_list)
def test_search(name):
assert name in search_list
import pytest
#1、参数化的名字,要与方法中的参数名,——对应,
#2、如果传递多个参数的话,要放在列表中,列表中嵌套列表/元组
@pytest.mark.parametrize("test_input,expected",[
("3+5",8),("2+5",7),("7+5",12)
])
def test_mark_more(test_input,expected):
assert eval(test_input) == expected
# 用例重用名
import pytest
#1、参数化的名字,要与方法中的参数名,——对应,
#2、如果传递多个参数的话,要放在列表中,列表中嵌套列表/元组
#3.ids 的个数==传递的数据个数
@pytest.mark.parametrize("test_input,expected",[
("3+5",8),("2+5",7),("7+5",12)
],ids=["number1","number2","number3"]) #ids用于重命名
def test_mark_more(test_input,expected):
assert eval(test_input) == expected