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单元测试案例的主要内容,如果未能解决你的问题,请参考以下文章

unittest单元测试案例

Python单元测试-Unittest

Python接口自动化之unittest单元测试

软件测试:Python接口自动化之unittest单元测试

python——unittest(单元测试)

python 单元测试,unittest 测试框架