目录:
1.pytest简介、安装与准备
前言
Pytest 是什么?
为什么要选择 Pytest?
def inc(x):
return x + 1
def test_answer():
assert inc(3) == 4
Pytest 环境安装
pip install pytest
运行第一个脚本
def inc(x):
return x + 1
def test_answer():
assert inc(3) == 4
实操
2.pytest命名规则
Pytest 有哪些格式要求?
Pytest 测试用例编写规则是什么?
类型 | 规则 |
---|---|
文件 | test_开头 或者 _test 结尾 |
类 | Test 开头 |
方法/函数 | test_开头 |
注意:测试类中不可以添加__init__ 构造函数 |
3.pycharm配置与界面化运行
Pycharm 界面化安装 Pytest
Pycharm 默认测试执行器为Pytest
4.pytest测试用例结构
三部分构成
测试用例示例
class TestXXX:
def setup(self):
# 资源准备
pass
def teardown(self):
# 资源销毁
pass
def test_XXX(self):
# 测试步骤1
# 测试步骤2
# 断言 实际结果 对比 预期结果
assert ActualResult == ExpectedResult
5.pytest测试用例断言
什么是断言?
断言(assert),是一种在程序中的一阶逻辑(如:一个结果为真或假的逻辑判断式),目的为了表示与验证软件开发者预期的结果。当程序执行到断言的位置时,对应的断言应该为真。若断言不为真时,程序会中止执行,并给出错误信息。
断言的用法
assert <表达式>
assert <表达式>,<描述>
示例 1
def test_a():
assert True
def test_b():
a = 1
b = 1
c = 2
assert a + b == c, f"{a}+{b}=={c}, 结果为真"
示例 2
def test_c():
a = 1
b = 1
c = 2
assert 'abc' in "abcd"
import sys
def test_plat():
assert ('linux' in sys.platform), "该代码只能在 Linux 下执行"
测试装置介绍
类型 | 规则 |
---|---|
setup_module/teardown_module | 全局模块级 |
setup_class/teardown_class | 类级,只在类中前后运行一次 |
setup_function/teardown_function | 函数级,在类外 |
setup_method/teardown_method | 方法级,类中的每个方法执行前后 |
setup/teardown | 在类中,运行在调用方法的前后(重点) |
def setup_module():
print('资源准备:setup module')
def teardown_module():
print('资源准备:teardown module')
def test_case1():
print('case1')
def test_case2():
print('case2')
def setup_function():
print('资源准备:setup function')
def teardown_function():
print('资源销毁:teardown function')
class TestDemo:
# 执行类前后分别执行setup_class teardown_class
def setup_class(self):
print("TestDemo setup-class")
def teardown_class(self):
print("TestDemo teardown_class")
# 每个类里面的方法前后分别执行setup, teardown
def setup(self):
print('TestDemo setup')
def teardown(self):
print('TestDemo teardown')
def test_demo1(self):
print('test demo1')
def test_demo2(self):
print('test demo2')
7.计算器实战
项目简介
计算器是近代人发明的可以进行数字运算的机器。 计算器通过对加法、减法、乘法、除法等功能的运算,将正确的结果展示在屏幕上。 可帮助人们更方便的实现数字运算。一般情况下计算器除显示计算结果外,还常有溢出指示、错误指示等功能。
知识点
操作内容