单元测试框架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 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("四处溜达")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/739866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++11 std::thread

std::thread std::thread是一个用于创建和管理线程的类。它可以让程序在多个并发执行的线程中执行不同的任务。下面是std::thread的一些常用用法介绍: 创建线程: void myFunction(int arg1, double arg2) {// 线程执行的代码 } std::thread t(myFunct…

Vue3全家桶 - VueRouter - 【2】重定向路由

重定向路由 在路由规则数组中,可采用 redirect 来重定向到另一个地址: 通常是将 / 重定向到 某个页面; 示例展示: router/index.js:import { createRouter, createWebHashHistory, createWebHistory } from vue-route…

混合测试写一写

题目 服务器IP地址规划:client:12.0.0.12/24,网关服务器:ens36:12.0.0.1/24、ens33:192.168.44.1/24,Web1:192.168.44.30/24,Web2:192.168.44.50/24,Nginx&am…

ocr关键信心提取数据集

doc/doc_ch/dataset/kie_datasets.md PaddlePaddle/PaddleOCR - Gitee.com https://huggingface.co/datasets/howard-hou/OCR-VQA OCR-VQA Dataset | Papers With Code

iOS应用内的沙盒目录

iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件,在开发中常常需要数据存储的功能,比如存取文件,归档解档等,因此有必要熟悉沙盒目录及其作用。 Documents目录 开发者可以将应用程序的数据文件保存在这个目录下.…

bzm - Concurrency Thread Group 阶梯式压测

bzm - Concurrency Thread Group 不是JMeter的官方插件,而是一种由Blazemeter提供的高级线程组插件,它提供了更灵活的并发性能测试设置。它可以在不同的时间内并发执行不同数量的线程,模拟不同的负载场景 插件下载地址:Download …

加速 Webpack 构建:提升效率的秘诀

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

作为开发程序员节约时间--提醒自己

对于需求 1.接到新需求,尽量做到不评审不介入,杜绝一句话需求,对于复杂需求一定要要用自己的话复述一遍给产品并确认理解是否一致 2.接到需求后仔细梳理需求文档,不清晰的及时和产品确认 3.根据需求文档编写概要设计和详细设计,详细设置需要有表结构和接口 4.开发高质量代码…

网络通信另个角度的认识(进程间通信),端口号(为什么要有,和pid的关系,分类,如何封装,和进程的定位原理+对应关系),客户端如何拿到服务端的port

目录 另一个角度认识网络通信 端口号 引入 -- 为什么要有端口号 问题 解决 端口号和pid 举例 介绍 分类 知名端口 注册端口 动态端口 客户端如何知道服务端的端口号 封装端口号 定位原理 进程和端口号的对应关系 数据如何被上层进程读到 另一个角度认识网络…

【Java EE初阶十一】多线程进阶二(CAS等)

1. 关于CAS CAS: 全称Compare and swap,字面意思:”比较并交换“,且比较交换的是寄存器和内存; 一个 CAS 涉及到以下操作: 下面通过语法来进一步进项说明: 下面有一个内存M,和两个寄存器A,B; CAS(M,A,B)&am…

SeaTunnel 2.3.4 Cluster in K8S

参考:seatunnel k8s运行zeta引擎(cluster-mode模式)_apache seatunnel zeta 启动-CSDN博客 以上参考使用的是2.3.3版本 下载2.3.4版本, 上dlcdn.apache.org下载 ,官网下载有问题 wget https://dlcdn.apache.org/seatunnel/2.3.4/…

吴恩达机器学习-可选实验:梯度下降逻辑回归(Gradient Descent for Logistic Regression)

文章目录 目标数据集Logistic梯度下降梯度下降实现计算梯度,代码描述 另一个数据集 目标 在本实验中,你将: 更新逻辑回归的梯度下降在一个熟悉的数据集上探索梯度下降使用梯度下降给逻辑回归更新参数 import copy, math import numpy as np %matplotl…

Go微服务: 基于GRPC结合Consul实现微服务调用

基于GRPC结合Consul实现微服务调用 1 )环境准备 基于 go workspace 准备3个包: protos,server, client新建 demo目录,其内部结构如下├── protos │ ├── go.mod │ └── users │ ├── users.proto │ …

怎么判断你的模型是好是坏?模型性能评估指标大全!

模型性能评估指标,大家一定不陌生!很多小伙伴们都说难,但是它真的很重要很重要很重要!它会对我们的模型有很多的指导,也会给我们真正做模型的时候提供一些指导性的思想,不然我们看到别人的东西只能跟着人家…

centos7.9升级ssh和openssl

一、环境 [roottmp179 package]# ssh -V OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017 [roottmp179 package]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) 二、 升级前准备 mkdir /opt/package cd /opt/package wget https://www.openssl.org/source…

【linux】冯诺依曼体系与操作系统的理解

本篇文章是进程的预备知识,但也不仅仅是进程的预备知识, 也可以更好地帮助我们理解整个计算机体系。 目录 冯诺依曼体系结构:进一步理解操作系统: 冯诺依曼体系结构: 关于这张图先进行一下必要的解释: 输…

怎样通过IT服务台来增强IT项目管理?

当下,越来越多的企业和组织重视IT项目管理的重要性。而如何通过IT服务台来增强和提升IT项目管理效率,成为了许多企业领导和IT专业人员共同关注的话题。如何充分利用IT服务台,以促进IT项目管理水平的提升和项目成功率的增加变得至关重要。 1…

Codeforces Round 924 (Div. 2)---->B. Equalize

总思路:首先我们做这题的时候有两个点一定要知道: 1.当数组中有重复元素的时候,只有其中的一个才能贡献一个相同元素,其他的都不行(因为是排列,一个数只出现一次),所以我们可以用使…

怎么免费下载无水印视频素材?赶快收藏这六个网站。

今天来教大家怎么下载无水印视频素材,其中一些是免费的,并且可以在商业项目中使用,这些网站都是无水印视频素材,可以放心使用。 蛙学网: 网站的内容非常丰富多彩,包括风景,夜景,食物…