unittest单元测试案例
Posted zhouzetian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unittest单元测试案例相关的知识,希望对你有一定的参考价值。
实现登陆功能的单元测试
验证参数有效性函数
def login_check(username, password): """ :param username: 登陆用户名 :param password: 登陆密码 :return: """ if 6 <= len(password) <= 18: if username == "admin" and password == "123456": return {"code": 0, "msg": "登陆成功"} else: return {"code": 1, "msg": "账号或者密码不正确"} else: return {"code": 1, "msg": "密码长度在6-18之间"}
创建测试类
import unittest class Login_test(unittest.TestCase): def __init__(self, method, username, password, ex): super().__init__(method) self.username = username self.password = password self.ex = ex def test_login(self): result = login_check(self.username, self.password) excepted = result["msg"] try: self.assertEqual(excepted, self.ex) except AssertionError as e: print("该用例未通过") result = "不通过" raise e else: print("该用例通过") result = "通过"
进行测试
s = unittest.TestSuite() data = [(‘test_login‘,‘admin‘, ‘123456‘, ‘登录成功‘), (‘test_login‘,‘adddd‘, ‘123456‘, ‘账号密码不正确‘), (‘test_login‘,‘admin‘,‘11234565‘, ‘账号密码不正确‘), (‘test_login‘,‘admin‘,‘12345‘, ‘密码长度在6-18之间‘), (‘test_login‘,‘admin‘,‘12345678912345678912‘, ‘密码长度在6-18之间‘)] for i in data: s.addTest(Login_test(*i)) r = unittest.TextTestRunner() r.run(s)
也可以通过将参数放置excel中的方式,进行测试
excel内容如下:
代码如下:
import openpyxl s = unittest.TestSuite() wb = openpyxl.load_workbook("test_code.xlsx") sheet = wb["Sheet1"] max_row = sheet.max_row name_list = [] pwd_list = [] ex_list = [] for i in range(2, max_row + 1): name_list.append(sheet.cell(row=i, column=1).value) pwd_list.append(sheet.cell(row=i, column=2).value) ex_list.append(sheet.cell(row=i, column=3).value) count = len(name_list) for j in range(0, count): data = (‘test_login‘, name_list[j], str(pwd_list[j]), ex_list[j]) s.addTest(Login_test(*data)) r = unittest.TextTestRunner() r.run(s)
以上是关于unittest单元测试案例的主要内容,如果未能解决你的问题,请参考以下文章