我们在之前讲了单元测试,这次我们分享下一部分接口的接口测试。
那么我们看来看下对应的接口怎么测试。
那么我们去设计对应的登陆用例,由于接口我们之前开发过,我们参照之前的接口开发的代码进行用例设计。
1.登陆用户不存在。
输入参数:
self.parame = { "username": "liwanle1i33333", "password": "123456" }
期望:
message='用户不存在' code=100205
2.登陆成功
参数:
self.parame = { "username": "liwanle1i", "password": "123456" }
预期:
message='成功' code=200
3.密码正确再次登陆直接返回之前的token,预期还是一样的。
4.输入密码错误
参数:
self.parame = { "username": "liwanle1i", "password": "123452336" }
预期:
code=100206 message='密码错误'
我们设计了四条登陆相关的case,那么对应的完整的case
import unittest, requests class UserLoginCase(unittest.TestCase): @classmethod def setUpClass(cls) -> None: cls.url = 'http://127.0.0.1:8000/user/login' @classmethod def tearDownClass(cls) -> None: ''' 还原测试环境,测试url :return: ''' cls.client = None cls.url = '' def setUp(self) -> None: ''' 初始化参数 :return: ''' self.parame = { "username": "liwanle1i", "password": "123456" } def tearDown(self) -> None: '''最后清理参数''' self.parame.clear() def test_login_usernot_exict(self): parame = { "username": "liwanle1i33333", "password": "123456" } reponse = requests.post(self.url, json=parame) status = reponse.status_code reslut = reponse.json() self.assertEqual(status, 200) self.assertEqual(reslut['code'], 100205) self.assertEqual(reslut['message'], '用户不存在') def test_login_success(self): reponse = requests.post(self.url, json=self.parame) status = reponse.status_code reslut = reponse.json() self.assertEqual(status, 200) self.assertEqual(reslut['code'], 200) self.assertEqual(reslut['message'], '成功') def test_login_success_two(self): reponse = requests.post(self.url, json=self.parame) status = reponse.status_code reslut = reponse.json() self.assertEqual(status, 200) self.assertEqual(reslut['code'], 200) self.assertEqual(reslut['message'], '成功') def test_login_error(self): self.parame['password']='2222222222' reponse = requests.post(self.url, json=self.parame) status = reponse.status_code reslut = reponse.json() self.assertEqual(status, 200) self.assertEqual(reslut['message'], "密码错误") if __name__ == "__main__": unittest.main()