前言

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 执行测试用例(一)的更多相关文章

  1. Python单元测试框架之pytest---如何执行测试用例

    介绍   pytest是一个成熟的全功能的Python测试工具,可以帮助你写出更好的程序. 适合从简单的单元到复杂的功能测试 l 模块化parametrizeable装置(在2.3,持续改进) l 参 ...

  2. Python单元测试框架之pytest 1 ---如何执行测试用例

    From: https://www.cnblogs.com/fnng/p/4765112.html 介绍   pytest是一个成熟的全功能的Python测试工具,可以帮助你写出更好的程序. 适合从简 ...

  3. 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件

    今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程.以后各位只要着重如何编写 ...

  4. (转载)最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件

    今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程.以后各位只要着重如何编写 ...

  5. web自动化测试实战之批量执行测试用例

    01实战之分离测试固件 在UI 自动化测试中,不管编写哪个模块的测试用例,都需要首先在测试类中编写测试固件初始化WebDriver类及打开浏览器,执行登录,才能进行下一步业务逻辑的操作,测试用例执行完 ...

  6. pytest测试框架 -- skip跳过执行测试用例

      跳过执行测试用例 1.@pytest.mark.skip(reason=" ") -- 跳过执行测试函数 可传入一个非必须参数reason表示原因 import pytest@ ...

  7. maven打包不执行测试用例

    在执行maven打包时不需要执行测试用例,使用如下2种方式实现:-DskipTests=true : 不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下 ...

  8. 使用jmeter+ant进行接口自动化测试(数据驱动)之二:利用apache-ant执行测试用例并生成HTML格式测试报告

    在 使用jmeter+ant进行接口自动化测试(数据驱动)之一 介绍了如何使用csv文件来批量管理接口 本次接着介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告 ①下载安装 ap ...

  9. selenium之批量执行测试用例

    把写好的测试用例放在指定目录下,使用discover函数扫描该目录,并根据关键字自动筛选需要执行的用例.本例使用Python3.6版本. # 遍历指定目录,批量执行测试用例 import unitte ...

随机推荐

  1. Python多线程爬取某网站表情包

    # 爬取网络图片import requestsfrom lxml import etreefrom urllib import requestfrom queue import Queue # 导入队 ...

  2. Requests方法 -- 关联用例执行

    1.参照此篇流程 :Requsts方法 -- Blog流程类进行关联 2.用例接口目录如下: 3.用例代码如下: import requestsimport unittestfrom Request. ...

  3. 每天五分钟Go - 函数基础

    函数在定义 Go的函数使用func来定义,返回类型支持多个值的返回 func 函数名([参数列]) [返回值类型]{ 方法执行体 } 参数列支持多个参数的声明,同一类型的函数,声明时和变量的声明一样 ...

  4. 【洛谷P1281 书的复制】二分+动态规划

    分析 两个做法,一个DP,一个是二分. 二分:也就是二分枚举每个人分到的东西. DP:区间DP F[I][J]表示前i本书分给j个人用的最短时间 由于每一次j的状态由比j小的状态得出,所以要先枚举j, ...

  5. 深入刨析tomcat 之---第23篇 聊一下web容器的filter配置和defaultservet

    writedby 张艳涛,在一个webapp应用程序内如何配置filter? <?xml version="1.0" encoding="ISO-8859-1&qu ...

  6. FreeRTOS-03-其它任务相关函数

    说明: 本文仅作为学习FreeRTOS的记录文档,作为初学者肯定很多理解不对甚至错误的地方,望网友指正. FreeRTOS是一个RTOS(实时操作系统)系统,支持抢占式.合作式和时间片调度.适用于微处 ...

  7. java基于mongodb实现分布式锁

    原理 通过线程安全findAndModify 实现锁 实现 定义锁存储对象: /** * mongodb 分布式锁 */ @Data @NoArgsConstructor @AllArgsConstr ...

  8. QT常用控件(三)——自定义控件封装

    引言 Qt已经提供了很多的基础控件供开发使用,而Qt原生的控件有时候并不能满足我们的需求,特别是在工业的运用上,比如我们需要一个日期时间的选择器,Qt虽然已经提供了原生的QDateTime控件,但这个 ...

  9. 快速上手 Rook,入门云原生存储编排

    Rook 是一个开源 cloud-native storage orchestrator(云原生存储编排器),为各种存储解决方案提供平台.框架和支持,以与云原生环境进行原生集成. Rook 将存储软件 ...

  10. ; 按快捷键`(即波浪号~所在的键盘按键)立即打开随身U盘中的办公专用文件夹

    ; 按快捷键`(即波浪号~所在的键盘按键)立即打开随身U盘中的办公专用文件夹; WorkFolderHotkey.ahk;; http://www.autoahk.com/; https://www. ...