unitest单元测试TestCase 执行测试用例(一)
前言
unittest单元测试框架不仅可以适用于单元测试,还可以适用自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。
unittest中最核心的部分是:TestFixture、TestCase、TestSuite、TestRunner 本次我们讲述TestCase
操作
现在我们有这样一个代码
class MathMethod: #创建了一个算数的类
def __init__(self,a,b): 定义一个初始化函数/方法
self.a = a
self.b = b
def add(self):#加法 加法的函数
return self.a + self.b
def multi(self):#乘法 乘法的函数
return self.a * self.b
我们往MathMethod()这个类里,传递2个数,然后调用加法就会自动算出2个数相加的和,如果调用乘法,就会算出乘法的值
重点来了,我们写好一串代码之后,我们怎么样自测我们的类、函数 是否都正确呢?
我们可以用单元测试 去测试我们的代码是否都正确。
首先我们要导入我们的unitest
import unitest
class Testmathmethod(unittest.TestCase): #继承了unitest里面的testcase类,专门用来写用例的
'''
一个函数就是一个用例,不能传递参数,只有self关键字
所有的用例都是test开头(函数)
执行函数(用例)是根据ascii编码执行的,abcdef。。。
'''
def test_add_two_positive(self):#两个正数相加
res = MathMethod(1,1).add()
print("1+1的结果是:",res)
def test_add_two_zero(self): #两个0相加
res = MathMethod(0,0).add()
print("0+0的结果是:",res)
def test_add_two_negative(self): #两个负数相加
res = MathMethod(-1,-2).add()
print("-1+-2的结果是:",res)
当我们对加法进行了我们的用例编写之后,用函数的方式去执行
if __name__ == '__main__':
unittest.main()
执行完看下我们的执行结果
我们来解析一下我们的执行结果
1:... 三个点代表执行了3次,有3个成功了,F代表断言失败了,E代表Error 失败 ..F..E这个意思是1、2条用例成功,第三条断言失败,第45条成功,第6条失败
2.一共执行了3条用例,一共用了0.002s时间
3.ok,第一条用例执行情况,第二条用例执行情况,第三条执行情况
那么有小伙伴就会有疑惑,我明明 写用例的时候第一条写的是1+1 第二条写的是 0+ 0 第三条写的是 -1+ -2
为什么执行结果却不是按照我写的呢?
其实他是按照ascii 码的顺序执行的,例如abcdefg......的顺序
看下我们写的用例
test_add_two_positive #两个正数相加
test_add_two_zero #两个0相加
test_add_two_negative 两个负数相加
如果根据ascii码的顺序, n > P > Z
test_add_two_negative #两个负数相加
test_add_two_positive #两个正数相加
test_add_two_positive #两个0相加
那也就与我们的输出值保持了一致
unitest单元测试TestCase 执行测试用例(一)的更多相关文章
- Python单元测试框架之pytest---如何执行测试用例
介绍 pytest是一个成熟的全功能的Python测试工具,可以帮助你写出更好的程序. 适合从简单的单元到复杂的功能测试 l 模块化parametrizeable装置(在2.3,持续改进) l 参 ...
- Python单元测试框架之pytest 1 ---如何执行测试用例
From: https://www.cnblogs.com/fnng/p/4765112.html 介绍 pytest是一个成熟的全功能的Python测试工具,可以帮助你写出更好的程序. 适合从简 ...
- 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程.以后各位只要着重如何编写 ...
- (转载)最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程.以后各位只要着重如何编写 ...
- web自动化测试实战之批量执行测试用例
01实战之分离测试固件 在UI 自动化测试中,不管编写哪个模块的测试用例,都需要首先在测试类中编写测试固件初始化WebDriver类及打开浏览器,执行登录,才能进行下一步业务逻辑的操作,测试用例执行完 ...
- pytest测试框架 -- skip跳过执行测试用例
跳过执行测试用例 1.@pytest.mark.skip(reason=" ") -- 跳过执行测试函数 可传入一个非必须参数reason表示原因 import pytest@ ...
- maven打包不执行测试用例
在执行maven打包时不需要执行测试用例,使用如下2种方式实现:-DskipTests=true : 不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下 ...
- 使用jmeter+ant进行接口自动化测试(数据驱动)之二:利用apache-ant执行测试用例并生成HTML格式测试报告
在 使用jmeter+ant进行接口自动化测试(数据驱动)之一 介绍了如何使用csv文件来批量管理接口 本次接着介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告 ①下载安装 ap ...
- selenium之批量执行测试用例
把写好的测试用例放在指定目录下,使用discover函数扫描该目录,并根据关键字自动筛选需要执行的用例.本例使用Python3.6版本. # 遍历指定目录,批量执行测试用例 import unitte ...
随机推荐
- Requests方法 -- Http协议的短链接与长连接介绍
转载于简书: 作者:熊师傅链接:https://www.jianshu.com/p/3fc3646fad80 1.以前的误解 很久之前就听说过长连接的说法,而且还知道HTTP1.0协议不支持长连接,从 ...
- 【洛谷P1816 忠诚】线段树
题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨,财主还是对管家产生了 ...
- Mac终端美化(iterm2+zsh+oh-my-zsh+powerlevel10k)
iterm2+zsh+oh-my-zsh+powerlevel10k 一.下载iterm2 方式一:官网下载 https://iterm2.com/ 方式二:百度云下载 链接: https://pan ...
- 第一篇 -- 下载并安装IDEA
此篇讲的是安装IDEA企业版,社区版是免费的,就不多说了. 参考链接:https://www.exception.site/essay/how-to-free-use-intellij-idea-20 ...
- python3中的缺省参数和global
关于py中缺省参数: 在声明函数的时候对某些参数(一个或多个)进行赋值,在你调用的时候无需在实参列表中体现该参数,但是在执行的时候会默认加上这个已经在形参中定义好的参数. 但是,缺省参数必须放在最后, ...
- Python - 详解 range()
介绍 range 是一个类,不是函数 表示不可变的数字序列,通常用于在 for 循环中循环指定的次数 两种语法格式 range(stop) 表示区间 [0, stop) 内的整数序列 该区间从 0 开 ...
- Redis(6379)未授权访问
环境搭建 打开kali终端 输入命令 wget http://download.redis.io/releases/redis-3.2.0.tar.gz tar xzf redis-3.2.0.tar ...
- Spring Security OAuth2 远程命令执行漏洞(CVE-2016-4977)
影响版本: 2.0.0-2.0.9 1.0.0-1.0.5 poc地址 https://github.com/vulhub/vulhub/blob/master/spring/CVE-2016-497 ...
- 论文笔记:(2019)GAPNet: Graph Attention based Point Neural Network for Exploiting Local Feature of Point Cloud
目录 摘要 一.引言 二.相关工作 基于体素网格的特征学习 直接从非结构化点云中学习特征 从多视图模型中学习特征 几何深度学习的学习特征 三.GAPNet架构 3.1 GAPLayer 局部结构表示 ...
- SQL Server添加字段语法
通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数增加字段: alter table [表名] add 字段名 smallin ...
