单元测试框架unittest D15

1、unittest 单元测试框架

TestCase:一个testcase的实例就是一个测试用例

TestSuite:多个测试用例集合在一起。TestLoader:是用来加载TestCase到TestSuite中的

TextTestRunner:用来执行测试用例的

fixture:测试用例环境的搭建和销毁。

2、unittest的注意事项

1)模块名称以test_开头

2)类名:Test...

3)测试用例的方法名称:test_..

4)TestLogin(unittest.TestCase)

附带代码:

def login(username=None, password=None):
    """登录"""
    if username != None and password != None:
        if username == "xinhua" and password == "123456":
            return {"mgs": "登录成功"}
        else:
            return {"mgs": "用户名或密码错误"}
    else:
        return {"mgs": "用户名或密码为空"}


import unittest


class TestLogin(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        print("一个测试类只执行一次的前置")

    @classmethod
    def tearDownClass(cls):
        print("一个测试类只执行一次的后置")

    def setUp(self):
        """前置 一个测试方法执行一次"""
        print("连接数据库")

    def tearDown(self):
        """后置"""
        print("断开数据库")

    def test_login_success(self):
        """登录成功测试用例"""
        username = "xinhua"
        password = "1256"
        expected = {"mgs": "登录成功"}
        # 调用被测单元
        actual = login(username, password)
        # 判断预期结果和实际结果是否存在某种关系 断言 assert
        self.assertTrue(expected == actual)

    def test_login_error(self):
        username = "xinhua"
        password = "123456"
        expected = {"mgs": "登录成功"}
        actual = login(username, password)
        self.assertTrue(expected == actual)

作业:

unittest作业
欢迎大家来到自动化测试。这是我们进入自动化领域的第一个作业,准备好了吗?

1,根据上课写的 login 函数,设计测试用例,并写出测试用例方法。
2, 通过 unittest 执行。
提示(逻辑基本是一致的,只是数据会发生变化)

上期答案:

# !/usr/bin/python3
# Author: wuyi
# --*--coding: utf-8 --*--
# @Time: 2020/12/4 10:21
# @file: t_14_类的继承.py

"""
类和对象3

1, 详细总结类和对象知识点,包括:
类的定义:类是指具有某一种特征的群体
对象的初始化:
表示方法:def __init__(self)
类属性:类都具有的特征,类里面的实例也都具有。
实例属性:实例具有的特征,不一定类都具有。
实例方法:类里的函数
类方法:类里的函数,@classmethod
静态方法:类里的函数,@staticmethod
继承:子类继承父类的方法,父类有的子类都有
重写:子类和父类有同样的方法,但不同
super 函数:子类和父类有同样的方法,子类有自己的模式,也继承了父类的模式,就用super函数

2, 定义一个类 Dog, 包含 2 个属性:名字和年龄。
定义一个方法 eat 吃东西。
定义一个类 TeddyDog, 继承 Dog 类, Teddy 在吃东西的时候还会望着你,  定义方法 watch_you.
定义一个类 BabyTeddyDog, 继承 TeddyDog,  BabyTeddy 吃东西不仅会望着你,还会四处转悠, 定义方法 go_around
"""


class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def eat(self):
        print("{}正在吃东西".format(self.name))


class TeddyDog(Dog):
    def __init__(self, name):
        self.name = name

    def watch_you(self, to):
        self.eat()
        print("正在望着{}".format(to))


class BabyTeddyDog(TeddyDog):
    def go_around(self, to):
        self.watch_you(to)
        print("四处溜达")

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值