Unittest单元测试之unittest用例执行顺序

2023-12-04

用例执行顺序

当在一个测试类或多个测试模块下,用例数量较多时,unittest在执行用例 (test_xxx)时,并不是按从上到下的顺序执行,有特定的顺序。

unittest框架默认根据ACSII码的顺序加载测试用例,数字与字母的顺序为: 0~9,A~Z,a~z。

对于类来说,class TestAxx 会优先于class TestBxx被执行。对于方法来说,test_aaa()方法会有优先于test_bbb()被执行。对于测试目录与测试文件来说,unittest同样是按照这个规则来加载测试用例的。

方式一、通过测试用例的方法名称:根据ACSII码的顺序加载测试用例

代码示例:

# 测试用例的执行顺序
# 1,通过测试用例的方法名称:根据ACSII码的顺序加载测试用例
import unittest
class Test_case(unittest.TestCase):
 
    # 进行初始化和清理工作
    def setUp(self):
        print("我是setUp方法,进行测试前的初始化工作")
    def tearDown(self) -> None:  # 表示该方法没有返回值
        print("我是tearDown方法,执行测试后的清除工作")
 
    # 测试用例
    def test_bbb(self):  # 判断是否在里面
        name = ["张飞","马怒","李四"]
        self.assertIn("马怒",name)
        print("测试test_bbb执行结束")
 
    def test_ccc(self):  # 判断4>2
        self.assertGreater(4,2)
        print("测试test_ccc执行结束")
 
    def test_aaa(self):
        a = True
        self.assertTrue(a)  # 判断是否为真
        print("测试test_aaa执行结束")
 
if __name__ == '__main__':
    unittest.main()


查看执行结果:  

方式二、通过addtest()添加用例的顺序

代码示例:

# 测试用例的执行顺序
# 2,通过addtest()添加用例的顺序
import unittest
class Test_case(unittest.TestCase):
    # 进行初始化和清理工作
    def setUp(self):
        print("我是setUp方法,进行测试前的初始化工作")
    def tearDown(self) -> None:  # 表示该方法没有返回值
        print("我是tearDown方法,执行测试后的清除工作")
 
 
    def test_bbb(self):  # 判断是否在里面
        name = ["张飞","马怒","李四"]
        self.assertIn("马怒",name)
        print("测试test_bbb执行结束")
 
    def test_ccc(self):  # 判断4>2
        self.assertGreater(4,2)
        print("测试test_ccc执行结束")
 
    def test_aaa(self):
        a=True
        self.assertTrue(a)  # 判断是否为真
        print("测试test_aaa执行结束")
 
 
if __name__ == '__main__':
    suite = unittest.TestSuite()  # 测试套件实例
    suite.addTest(Test_case("test_bbb"))  # 类名(方法名称)
    suite.addTest(Test_case("test_aaa"))
    suite.addTest(Test_case("test_ccc"))
    unittest.main(defaultTest="suite")

查看执行结果

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unittest单元测试之unittest用例执行顺序 的相关文章

  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • Docker CLI 实战指南:从基础命令到 Dockerfile 构建和 Docker Compose

    Docker CLI 命令行界面 是一个强大的工具 可让您与 Docker 容器 映像 卷和网络进行交互和管理 它为用户提供了广泛的命令 用于在其开发和生产工作流中创建 运行和管理 Docker 容器和其他 Docker 资源 安装 要开始
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 软件测试|教你如何使用Python绘制出奥运五环旗

    简介 我们之前介绍过使用turtle来绘制正多边形 但是绘制正多边形只是turtle模块最基础的使用 我们可以使用turtle模块绘制出更多不一样的精彩图形 本文就来给大家介绍一个比较简单的turtle绘图实例 绘制奥运五环旗 初始化参数
  • 软件测试|Python数据可视化神器——pyecharts教程(九)

    使用pyecharts绘制K线图进阶版 简介 K线图 Kandlestick Chart 又称蜡烛图 是一种用于可视化金融市场价格走势和交易数据的图表类型 它是股票 外汇 期货等金融市场中最常用的技术分析工具之一 可以提供关于价格变动 趋势
  • 软件测试|使用matplotlib绘制多种柱状图

    简介 在数据可视化领域 Matplotlib是一款强大的Python库 它可以用于创建多种类型的图表 包括柱状图 本文将介绍如何使用Matplotlib创建多种不同类型的柱状图 并提供示例代码 创建基本柱状图 首先 让我们创建一个基本的柱状
  • 掌握 C# 变量:在代码中声明、初始化和使用不同类型的综合指南

    C 变量 变量是用于存储数据值的容器 在 C 中 有不同类型的变量 用不同的关键字定义 例如 int 存储整数 没有小数点的整数 如 123 或 123 double 存储浮点数 有小数点 如 19 99 或 19 99 char 存储单个
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • msyql 异常,别干着急,70%的问题都在这里!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 摸爬滚打多年的打工人,总结了三条职场真理,绝不假大空!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 开眼了,自动化测试还能这样用?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 2024拒绝行业内卷!八年软件测试20K*16薪行业心得 想入行必看

    目前工作做软件测试工作8年 属于高级测试员那个级别吧 现在看到各行各业的人都在转行学习软件测试 想给大家一些学习建议和忠告 很多粉丝都跟我说今年行情很差 找不到工资 真的找不到工作了吗 我们常在网上看到的 程序员饱和 程序员过剩 其实一般是
  • 如何打赢稳定性之战?

    文章目录 前言 为什么总会出现问题呢 如何证明你的稳定性做的有效果 既是持久战 也是防御战 1 提前建筑好防御工事 2 以攻为守 3 找外部支援和配合 前言 随着23年年末期间 各大厂争先恐后的出现的各种线上
  • 软件测试/测试开发/全日制/测试管理丨Android WebView 技术原理

    Android WebView是一个内置的组件 允许在Android应用中嵌套显示Web内容 Android WebView的技术原理涉及到使用WebKit引擎来渲染Web内容 并提供一系列API和回调函数 使得开发人员可以控制和定制Web
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错
  • 软件测试面试:还没有自动化测试项目经验,3个项目帮你走入软测职场!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 深入解析 YAML 配置文件:从语法到最佳实践

    一 认识YAML YAML YAML Ain t Markup Language 是一种人类可读的数据序列化语言 它的设计目标是使数据在不同编程语言之间交换和共享变得简单 YAML采用了一种简洁 直观的语法 以易于阅读和编写的方式表示数据结

随机推荐

  • Airtest进阶使用篇!提高脚本稳定性 + 批量运行脚本!

    一 背景 今天彭于晏为大家分享Airtest进阶使用篇 主要包含两块的内容 提高脚本稳定性 批量运行脚本生成测试报告 二 提高脚本稳定性 1 添加全局配置 全局设置 ST FIND TIMEOUT 10 设置隐式等待时长 默认识别图片时间是
  • 基于java的宠物领养系统设计与实现

    基于java的宠物领养系统设计与实现 I 引言 A 研究背景和动机 基于Java的宠物领养系统设计与实现的研究背景和动机是构建一个方便 安全 可靠 易用的宠物领养平台 以满足领养者 领养机构 宠物领养信息服务平台等多方需求 该平台需要具备以
  • 提升Jmeter测试效率的9种参数化方法!

    jmeter工具无论做接口测试还是性能测试 参数化都是一个必须掌握且非常有用的知识点 参数化的使用场景 1 多个请求都是同一个ip地址 若服务器地址更换了 则脚本需要更改每个请求的ip 2 注册账号 不允许账号重复 想批量注册用户时 3 模
  • Jmeter线程组和同步定时器!

    1 线程组 1 1线程组的定义 进程 正在运作中的程序 QQ 微信 迅雷 线程 进程中的执行单元 一个进程包含多个线程 下载 播放 线程组 按照线程性质对线程进行分组 单个下载 批量下载 接口分组 线程组 就是一个线程组 里面有若干个请求
  • 题解 | #糖糖别胡说,我真的不是签到题目#

    可以提前把施法后的b算出来 因为前面的结果会影响后面的判断 include
  • 需求不明确的情况下,测试该如何处理?

    当需求不明确的情况下 测试团队可以采取以下措施来处理 1 与项目团队进行沟通 测试团队应与项目团队密切合作 与业务分析师 产品经理等相关人员进行沟通 以获取更多的需求细节和背景信息 通过与相关方的交流 可以更好地理解需求的意图和预期 从而更
  • 商城免费搭建之java商城 鸿鹄云商 B2B2C产品概述

    B2B2C平台 以传统电商行业为基石 鸿鹄云商支持 商家入驻 平台自营 多运营模式 积极打造 全新市场 全新 模式 企业级B2B2C电商平台 致力干助力各行 互联网创业腾飞并获取更多的收益 从消费者出发 助力企业构建完整 电商交易生态 整合
  • Leetcode 剑指 Offer II 055. 二叉搜索树迭代器

    题目难度 中等原题链接今天继续更新 Leetcode 的剑指 Offer 专项突击版 系列 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列 include
  • 最全最详细ChatGPT角色预设词教程,Prompt分享

    使用指南 1 可直复制使用 2 可以前往已经添加好Prompt预设的AI系统测试使用 可自定义添加使用 雅思写作考官 我希望你假定自己是雅思写作考官 根据雅思评判标准 按我给你的雅思考题和对应答案给我评分 并且按照雅思写作评分细则给出打分依
  • 题解 | #实现二叉树先序,中序和后序遍历#

    include
  • 乘数而启,向数而行|2023数字金融创新发展论坛成功举办

    订阅制 C端消费者早已耳熟能详 如今也凭借灵活 服务更新稳定的特点 逐渐成为B端企业服务的新热点 比如对中小企业而言 办公IT设备等配套支出都必不可少 但收入 栗栗在线招人啦 哇 各位 招人好难啊 你们赶紧来找栗栗啊 不限经验 不限地域 不
  • AI知识库:智能化的知识管理

    随着人工智能技术的不断发展 越来越多的企业开始关注如何利用AI技术提升业务运营效率 其中 AI知识库作为一种智能化的知识管理工具 已经在各行各业得到了广泛的应用 接下来就探讨一下AI知识库是如何帮助企业实现智能化知识管理的 一 AI知识库的
  • Leetcode-二叉树oj题

    1 二叉树的前序遍历 144 二叉树的前序遍历 https leetcode cn problems binary tree preorder traversal 这个题目在遍历的基础上还要求返回数组 数组里面按前序存放二叉树节点的值 既然
  • Selenium/webdriver介绍以及工作原理

    最近在看一些底层的东西 driver翻译过来是驱动 司机的意思 如果将webdriver比做成司机 竟然非常恰当 我们可以把WebDriver驱动浏览器类比成出租车司机开出租车 在开出租车时有三个角色 乘客 他 她告诉出租车司机去哪里 大概
  • co域名是什么

    co域名是什么本篇文章给大家分享的是有关co域名是什么 小编觉得挺实用的 因此分享给大家学习 希望大家阅读完这篇文章后可以有 所收获 话不多说 跟着小编一起来看看吧 co域名后缀是哥伦比亚的国家顶级域名后缀 是因特网域名治理机构ICANN
  • 软件测试-软件缺陷有哪些,一文贯彻到底

    软件缺陷 软件缺陷 又称之为 Bug 即计算机软件或程序中存在的某种破坏正常运行能力的问题 错误 或者隐藏的功能缺陷 表现形式A 软件没有实现产品规格说明书所要求的功能模块 表现形式B 软件中出现了产品规格说明指明不应该出现的错误 表现形式
  • 【2024年趋势】推荐5个好用的产品手册制作工具

    随着科技的快速发展 人们对于网站产品手册的需求也日益增加 一份详细且易用的产品手册可以帮助用户更好地了解和使用产品 提高用户满意度和忠诚度 之前整理了一期关于2023年我推荐的一些知识库软件 已经12月了 最近我也去关注了一些2024年的趋
  • 掌握未来设计趋势,开启AutoCAD2020创新之旅!

    随着科技的不断发展 设计行业也在迅速演进 为满足设计师们日益增长的需求 Autodesk AutoCAD2020应运而生 作为一款全球领先的设计软件 AutoCAD2020不仅拥有更加强大的功能和更高效的性能 还融入了一系列的智能化设计工具
  • 简单在生活中使用CHAT写心得

    问CHAT 农产品品牌建设和数字供销对于供销社有什么意义 CHAT回复 对于供销社来说 农产品品牌建设和数字供销的重要性主要体现在以下几个方面 1 提升农产品价值 通过品牌建设 可以提升农产品的附加值和市场竞争力 有利于增强农民的收入 推动
  • Unittest单元测试之unittest用例执行顺序

    用例执行顺序 当在一个测试类或多个测试模块下 用例数量较多时 unittest在执行用例 test xxx 时 并不是按从上到下的顺序执行 有特定的顺序 unittest框架默认根据ACSII码的顺序加载测试用例 数字与字母的顺序为 0 9