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 unittestclass TestLogin(unittest.TestCase):@classmethoddef setUpClass(cls):print("一个测试类只执行一次的前置")@classmethoddef 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)# 判断预期结果和实际结果是否存在某种关系 断言 assertself.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""" 类和对象31, 详细总结类和对象知识点,包括: 类的定义:类是指具有某一种特征的群体 对象的初始化: 表示方法: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 = nameself.age = agedef eat(self):print("{}正在吃东西".format(self.name))class TeddyDog(Dog):def __init__(self, name):self.name = namedef watch_you(self, to):self.eat()print("正在望着{}".format(to))class BabyTeddyDog(TeddyDog):def go_around(self, to):self.watch_you(to)print("四处溜达")