前言

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. 解决linux下按退格键出现 ^? 的问题

    处理办法:使用stty命令修改. stty命令语法 stty是linux下改变和打印终端设置的常用命令. stty(选项)(参数) -a:以容易阅读的方式打印当前的所有配置: -g:以stty可读方式 ...

  2. Java 比较两个Word文档差异

    本文介绍使用Spire.Doc for Java的比较功能来比较两个相似Word文档的差异.需要使用的版本为3.8.8或者后续发布的新版本.可下载jar包,解压将lib文件夹下的Spire.doc.j ...

  3. 在Java web项目中防止用户注销后使用浏览器中的“后退”按钮返回注销前页面

    一背景 公司安全整改, 要求:系统中对于关键业务操作应确保使用浏览器"后退"功能无法回到上一步操作界面. 提供:凭证提供所有被检查系统关键业务操作后回退视频,视频显示关键业务操作后 ...

  4. informix常用函数

    一.常用函数 1.decimal decimal(14,2):14位数,小数占两位:decimal(26,8),有效长度为26,小数位占8位. 2.cast cast:Oracle中的数据类型转换函数 ...

  5. 【阅读笔记】Java核心技术卷一 #6.Chapter8

    8 泛型程序设计 8.1 为什么要使用泛型程序设计 类型参数(type parameters)(E.T.S...) 通配符类型(wildcard type)(?) 注意这两者用法用处并不同. 8.2 ...

  6. Spring Messaging 远程命令执行漏洞(CVE-2018-1270)

    影响版本 Spring Framework 5.0 to 5.0.4 Spring Framework 4.3 to 4.3.14 参考 https://www.it610.com/article/1 ...

  7. Super-Mario-Host(超级玛丽)靶机

    仅供个人娱乐 靶机百度云下载  链接:https://pan.baidu.com/s/13l1FUgJjXArfoTOfcmPsbA 提取码:a8ox 一.主机发现 arp-scan -l 二.漏洞扫 ...

  8. Sqli-labs 注入靶场(1-22)

    Sqli-labs靶场1-22 Sql注入的本质是代码和数据的未分离,导致用户的输入可以对数据库产生恶意的输入或输出. 本篇博客旨在通过Sqli-labs的第1-22关,详细的描述Sql注入的相关场景 ...

  9. Bootstrap Blazor 更新版本 5.6.0

    Bootstrap Blazor 是一款基于 Bootstrap 的 企业级 Blazor UI 组件库,目前内置近 90 个组件,欢迎大家尝试使用.本次更新全面升级支持 Bootstrap V5.6 ...

  10. Esxi安装Kali2并开启远程桌面

    Kali安装 登录Vmware Esxi页面,选择"创建/注册虚拟机",步骤和创建其它Linux主机类似(Esxi的安装和介绍可以参考上一篇文章) 不同的地方是,客户机操作系统版本 ...