day14:综合运用

**七、综合运用**

1.每个例子写的代码都是一样的?有没有优化的方法?
2.用例数据可不可以独立出来?
3.注意点,每条用例是一条TestCase类的对象,创建对象初始化需要注意__init__方法 。
在这里插入图片描述第一个文件:register.py

# ==========================
# @time:2019/10/28 20:10
# @Author:coco
# @File:register.py
# @software:PyCharm
# ============================

users = [{'user': 'python23', 'password': '1123456'}]


def register(username, password1, passwrod2):
    # 注册功能
    for user in users:  # 遍历出所有的账号,判断账号是否存在
        if username == user['user']:
            # 账号存在
            return {"code": 0, "msg": "该账号已存在"}
        else:
            if password1 != passwrod2:
                # 两次密码不一致
                return {"code": 0, "msg": "两次密码不一致"}
            else:
                # 账号不存在,密码重复,判断账号密码长度是否在6-18位之间
                if 6 <= len(username) >= 6 and 6 <= len(password1) <= 18:
                    # 注册账号
                    users.append({'user': username, 'password': passwrod2})
                    return {"code": 1, "msg": "注册成功"}
                else:
                    # 账号密码长度不对,注册失败
                    return {"code": 0, "msg": "账号和密码必须在6-18位之间"}

第二个文件:test_cases.py

# ==========================
# @time:2019/10/29 20:01
# @Author:coco
# @File:test_cases.py
# @software:PyCharm
# ============================

import time
import unittest
from register import register


class RegisterTestCase(unittest.TestCase):

    def __init__(self, method_name, case_data):
        self.case_data = case_data
        super().__init__(method_name)

    def test_register(self):
        # 预期结果
        excepted = self.case_data["excepted"]
        # 参数:data
        data = self.case_data['data']
        # 调用被测试的功能函数,传入参数,获取实际结果
        res = register(*data)
        # 比对预期结果,和实际结果是否一致
        self.assertEqual(excepted, res)

第三个文件:run_suite.py

# ==========================
# @time:2019/10/28 20:42
# @Author:coco
# @File:run_suite.py
# @software:PyCharm
# ============================

import unittest
from HTMLTestRunnerNew import HTMLTestRunner
# from testcase import RegisterTestCase
from test_cases import RegisterTestCase

# 创建测试套件
suite = unittest.TestSuite()

cases = [
    {'data': ('python1', '123456', '123456'), "excepted": {"code": 1, "msg": "注册成功"}},
    {'data': ('python1', '1234567', '1234567'), "excepted": {"code": 0, "msg": "两次密码不一致"}},
    {'data': ('python23', '1234567', '123456'), "excepted": {"code": 0, "msg": "该账号已存在"}},
]

# 加载测试套件
# case_data = {'data': ('python1', '123456', '123456'), "excepted": {"code": 1, "msg": "注册成功"}}
for case_data in cases:
    case = RegisterTestCase("test_register", case_data)
    suite.addTest(case)

# 生成html文件的测试报告

with open('zy_report.html', 'wb') as fb:
    runner = HTMLTestRunner(stream=fb,
                            title='我的测试报告',
                            description='这是我的第一份测试报告',
                            tester='coco')
    runner.run(suite)

得到测试报告:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值