5、测试用例目录的实现
script
目录中存放的是测试用例,包括单接口和组合接口的测试用例。
测试用例是在unittest框架下编写,用法同UI测试框架。
(1)编写单接口测试用例
"""
测试新增学院接口
"""
# 测试用例是在unittest框架下编写
import unittest
from interface.add_departments import Add_department # 导入新增学院接口
from common.getKeyword_forResult import GetKeyword # 返回值处理接口
# 测试添加和查询学院的关联型接口
class Test_Add_Dep(unittest.TestCase):
def setUp(self) -> None:
self.url = "http://127.0.0.1:8000/api/departments/"
# 实例化Add_department
self.add_dep = Add_department(self.url)
# 开始编写测试用例
def test_add_dep_success(self):
"""
测试添加学院成功接口
:return:
"""
# 封装请求参数
data = {
"data": [
{
"dep_id": "T100",
"dep_name": "Test学院",
"master_name": "Test-Master",
"slogan": "Here is Slogan"
}
]
}
# 新增学院
response = self.add_dep.add_dep(data)
# 获取添加成功后的dep.id
"""
# 因为直接使用该方法相当于又执行了一次添加学院接口
# 所以不能够这样调用
self.add_dep.get_depid(data)
"""
res_dep_id = GetKeyword.get_keyword(response["create_success"], "dep_id")
expect = "T100"
self.assertEqual(res_dep_id, expect)
# 测试添加学院完整性实现
def test_add_dep(self):
"""
测试添加学院接口
:return:
"""
# 封装请求参数
data = {
"data": [
{
"dep_id": "T101",
"dep_name": "Test学院",
"master_name": "Test-Master",
"slogan": "Here is Slogan"
}
]
}
# 新增学院
response = self.add_dep.add_dep(data)
"""
并返回值的验证有3种情况
#1.添加成功
#2.添川id已存在的学院
#3.参敖错误(自己实现)
根据对接口档的分析
可以通过判断返回值是否包含“status_code”区分1,2和3,然后区分1,2
根据返回值中already_exist.count是否为0,判断是否添加成功
"""
# 这里只判断上面的1,2情况,工作中根据实际业务自己在完成
if GetKeyword.get_keyword(response["already_exist"], "count") == 0:
# 获取添加成功后的dep.id
res_dep_id = GetKeyword.get_keyword(response["create_success"], "dep_id")
else:
res_dep_id = GetKeyword.get_keyword(response["already_exist"], "dep_id")
expect = "T101"
self.assertEqual(res_dep_id, expect)
if __name__ == '__main__':
unittest.main()
(2)编写组合接口测试用例
"""
测试新增和查询接口(组合接口业务)
先新增--->再查询
"""
# 测试用例是在unittest框架下编写
import unittest
from interface.add_departments import Add_department # 导入新增学院接口
from interface.get_departments import Get_Departments # 查询学院接口
from common.getKeyword_forResult import GetKeyword # 返回值处理接口
# 测试添加和查询学院的关联型接口
class Test_Add_Get_Dep(unittest.TestCase):
def setUp(self) -> None:
self.url = "http://127.0.0.1:8000/api/departments/"
# 实例化Add_department添加学院
self.add_dep = Add_department(self.url)
# 实例化Get_Departments查询学院
self.get_dep = Get_Departments(self.url)
# 开始编写测试用例
def test_add_get(self):
# 封装请求参数
add_data = {
"data": [
{
"dep_id": "T03",
"dep_name": "Test学院",
"master_name": "Test-Master",
"slogan": "Here is Slogan"
}
]
}
# 一下逻辑待查证,知道组合的形式即可。
# 执行添加学院接口。目的:获取添加成功后的学院id
# 获取新增学院后的id
dep_id = self.add_dep.get_keyword(add_data, "dep_id")
# 查询新增学院信息
result = self.get_dep.get_department(dep_id)
# 通过获取查询后的学院id作为实际结果
res_dep_id = GetKeyword.get_keyword(result, "dep_id")
# 获取预期结果id
expect = GetKeyword.get_keyword(add_data, "dep_id")
# 断言结果
self.assertEqual(expect, res_dep_id)
if __name__ == '__main__':
unittest.main()
网友评论