ddt: Data Driver Test (数据库的使用)
把测试数据和用例代码进行分离,通过外部数据去生成测试用例, 方便后期的维护,以及测试数据的管理。
简单来说就是 ,一个脚本,输入多组数据来进行测试 。 下面使用代码来演示
下载DDT库:
pip install ddt
1.抄一下上一篇博客中的登陆方法,用来测试
"""
登录校验
:param username:用户名
:param password: 密码
:return dict type
"""
# 登陆校验
def login_check(username=None, password=None):
if username is None or password is None or username == "" or password == "":
return {'code': '400', 'msg': '用户名或密码不能为空'}
else:
if username == "admin" and password == "123456":
return {'code': '200', 'msg': '登录成功'}
else:
return {'code': '400', 'msg': '用户名或密码错误'}2.写一个unittest测试类 。测试类前面使用@ddt.ddt; 测试数据前使用 @ddt.data
import unittest
import ddt
import login
@ddt.ddt
class TestDdtLogin(unittest.TestCase):
# 给4条测试数据
Testdata = [
{"username": "admin", "password": "123456", "excepted": {'code': '200', 'msg': '登录成功'}},
{"username": None, "password": "1234567", "excepted": {'code': '400', 'msg': '用户名或密码不能为空'}},
{"username": "admin", "password": None, "excepted": {'code': '400', 'msg': '用户名或密码不能为空'}},
{"username": "admin", "password": "123456789", "excepted": {'code': '404', 'msg': '用户名或密码错误'}},
]
@ddt.data(*Testdata)
def test_login_DDT(self, Testdata):
res = login.login_check(Testdata['username'], Testdata['password'])
self.assertEqual(res, Testdata['excepted'])
if __name__ == '__main__':
unittest.main()
执行结果:

版权声明:本文为qq_38047148原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。