上一篇:接口测试case:新增发布会-CSDN博客(目录结构和数据模型可参考这篇)
1、接口
名称 | 查询发布会 |
描述 | 查询发布会 |
URL | http://127.0.0.1:8000/api/get_event_list/ |
调用方法 | GET |
传入参数 | eid #发布会id name #发布会名称 |
返回值 | { 'status': 200, 'message': 'success', 'data': [{ 'eid': 4, 'name': '小米4', 'limit': 1003, 'status': True, 'address': '某某会展中心104', 'start_time': '2023-08-23T14:20:00' }] } |
状态码 | 10021:parameter error 10022:query result is empty 200:success |
说明 | eid、name两个参数二选一 |
2、接口测试代码
import os.path
import sys
import unittest
import requests
parentDir = os.path.dirname(os.path.dirname(__file__))
sys.path.insert(0,parentDir)
from data.readCsv import Csv_oper
base_dir = str(parentDir)
base_dir = base_dir.replace('\\','/')
event_Path = base_dir + '/data/event_data.csv'
guest_Path = base_dir + '/data/guest_data.csv'
class GetEventList(unittest.TestCase):
def setUp(self):
self.base_url = "http://127.0.0.1:8000/api/get_event_list/"
def tearDown(self):
print(self.result)
def test_get_event_id_null(self):
''' 查询发布会,id为空 '''
r = requests.get(self.base_url,params={'eid':''})
self.result = r.json()
self.assertEqual(self.result['status'],10021)
self.assertEqual(self.result['message'],'parameter error')
def test_get_event_id_error(self):
''' 查询发布会,不存在的id '''
r = requests.get(self.base_url, params={'eid': 901})
self.result = r.json()
self.assertEqual(self.result['status'], 10022)
self.assertEqual(self.result['message'], 'query result is empty')
def test_get_event_id_succes(self):
''' 查询发布会,id正确 '''
r = requests.get(self.base_url, params={'eid': 3})
self.result = r.json()
self.assertEqual(self.result['status'], 200)
self.assertEqual(self.result['message'], 'success')
self.assertEqual(self.result['data']['name'], '小米3')
self.assertEqual(self.result['data']['address'], '某某会展中心103')
def test_get_event_name_null(self):
''' 查询发布会,name为空 '''
r = requests.get(self.base_url, params={'name': ''})
self.result = r.json()
self.assertEqual(self.result['status'], 10021)
self.assertEqual(self.result['message'], 'parameter error')
def test_get_event_name_error(self):
''' 查询发布会,不存在的name '''
r = requests.get(self.base_url, params={'name': '小米333'})
self.result = r.json()
self.assertEqual(self.result['status'], 10022)
self.assertEqual(self.result['message'], 'query result is empty')
def test_get_event_name_success(self):
''' 查询发布会,name正确 '''
r = requests.get(self.base_url, params={'name': '小米4'})
self.result = r.json()
self.assertEqual(self.result['status'], 200)
self.assertEqual(self.result['message'], 'success')
self.assertEqual(self.result['data'][0]['name'], '小米4')
self.assertEqual(self.result['data'][0]['address'], '某某会展中心104')
if __name__ == '__main__':
# 初始化数据
table_name1 = 'sign_event'
c = Csv_oper()
c.init_data(table_name1, event_Path)
# 执行测试
unittest.main()
初始化数据参考:python操作mysql——批量添加csv数据-CSDN博客