zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    各IDE快捷键
    java的GUI之SWT框架 JavaFX框架 配置开发环境(包含但不限于WindowBuilder完整教程,解决Unknown GUI toolkit报错,解决导入SWT包错误)
    20180314 一个浮点数问题
    20180309 算最近新的感悟吧
    20171228 C#值类型和引用类型
    20171129 ASP.NET中使用Skin文件
    20171123初学demo爬去网页资料
    20171018 在小程序页面去获取用户的OpenID
    20171018 微信小程序客户端数据和服务器交互
    20171012 动态爬虫爬取预约挂号有号信息
  • 原文地址:https://www.cnblogs.com/zhouzetian/p/13181947.html
Copyright © 2011-2022 走看看