一、前言
本文章主要讲解Python自动化测试中测试用例的数据分离,在自动化测试中能够更好的管理测试用例以及代码,除此之外下方有系列文章的传送门,还在持续更新中,感兴趣的小伙伴也可以前往查看,话不多说,让我们一起看看吧~

系列文章:
系列文章1:【Python自动化测试1】遇见Python之美
系列文章2:【Python自动化测试2】Python安装配置及PyCharm基本使用
系列文章3:【Python自动化测试3】初识数据类型与基础语法
系列文章4:【Python自动化测试4】字符串知识总结
系列文章5:【Python自动化测试5】列表与元组知识总结
系列文章6:【Python自动化测试6】字典与集合知识总结
系列文章7:【Python自动化测试7】数据运算符知识合集
系列文章8:【Python自动化测试8】流程控制语句讲解
系列文章9:【Python自动化测试9】函数知识合集
系列文章10:【Python自动化测试10】文件基础操作
系列文章11:【Python自动化测试11】模块、包与路径知识合集
系列文章12:【Python自动化测试12】异常处理机制知识合集
系列文章13:【Python自动化测试13】类、对象、属性与方法知识合集
系列文章14:【Python自动化测试14】Python自动化测试基础与进阶练习题
系列文章15:【Python自动化测试15】unittest测试框架的核心概念与作用
二、什么是数据分离?
如下代码所示,在测试一个函数时我们需要编写测试用例并断言,通过框架及相关方法来进行测试,这样做会产生一个问题,对于一个庞大的软件、游戏而言,可能会有上万条测试用例,如果数据与代码存在绑定关系,很明显会有很多弊端,例如查询、更改测试数据等,这意味着代码和测试数据将会一起进行维护,维护成本会随着时间以及数量不断的增加,且有互相依赖性。
故此我们需要把数据与代码区分开来,那么分开的这个过程和结果,我们就称之为数据分离,进行单独性的管理。 那么测试用例的数据分离,就是将用例数据与代码区分开的意思。如果测试数据需要进行修改或添加,那么我们只需要维护测试数据即可,而测试用例是不需要进行改动的。
"""
一共涉及到4个知识内容:
1、setUp 测试用例前执行
2、teardown 测试用例后执行
3、setUpClass 测试类之前执行
4、teardownClass 测试类之后执行
"""
import unittest
def login(username=None, password=None):
if username is None or password is None:
return {
"code": 400, "msg": "用户名或密码为空" }
if username == "萌笑天" and password == 123456:
return {
"code": 200, "msg": "登录成功" }
return {
"code": 300, "msg": "用户名或密码错误" }
class TestLogin(unittest.TestCase):
def setUp(self) -> None:
"""每个测试用例之前都会执行的代码"""
print("每个测试用例之前的准备工作")
print("假装正在连接数据库...")
def tearDown(self) -> None:
"""每个测试用例之后都会执行的代码,无论测试用例是否通过,tearDown均会执行"""
print("每个测试用例执行之后都需要做的事情")
print