Selenium自动化测试入门:python unittest 单元测试框架
点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快unittest又名PyUnit Python单元测试框架The Python unit testing framework简称为PyUnit。自从 Python 2.1 版本后PyUnit成为 Python标准库的一部分。为什么需要使用unittest单元测试框架当我们写的用例越来越多时我们就需要考虑用例编写的规范、组织与管理以便于后期的维护而python-unittest正是这样一款工具。我们这里用一个简单示例来展示用unittest脚本是什么样子的。创建计算器类calculator# Calculator.py class calculator(object): def __init__(self, a, b): self.a a self.b b def add(self): return (self.a self.b) def minus(self): return (self.a - self.b) def multip(self): return (self.a * self.b) def divide(self): return (self.a / self.b)创建一个简单的单元测试用例import unittest # 导入unittest 包 from unittest_doc.com.Calculator.Calculator import calculator # 引入需要测试的包 # 所有用例需继承TestCase类或者其子类 class simple_test(unittest.TestCase): def setUp(self): print(初始化test_simple) self.a calculator(1, 2) def test_add(self): print(---测试用例test_simple add---) self.assertEqual(self.a.minus(), -1, 两值不相等) self.assertEqual(self.a.add(), 3, 两值不相等) self.assertNotEqual(self.a.divide(), 1, 两值不相等) def test_divide(self): print(---测试用例test_simple divide---) self.assertEqual(self.a.divide(), 0.5) def tearDown(self): print(结束test_simple) if __name__ __main__: unittest.main()运行结果初始化test_simple ---测试用例test_simple add--- 结束test_simple 初始化test_simple ---测试用例test_simple divide--- 结束test_simple测试用例由setUp(),test_add(),test_divide(),tearDown() 4个部分组成它们放在一个继承于unittest.TestCase 的测试类下。仔细观察输出结果每个用例运行前都会运行 setUp()结束后会运行tearDown()从这里应该能够看出他们两的作用。setUp()用于测试用例执行前的准备工作。如测试用例中需要访问数据库可以在setUp中建立数据库连接并进行初始化用例需要使用web可以先实例化浏览器app测试需先要启动app可先实例化app。tearDown()用于用例执行之后的善后工作。如关闭数据库连接关闭浏览器关闭app。当用例没运行成功是他也会执行。test_add(),test_divide()测试脚本必须已test开头或者结尾如用unittest.main()方法执行用例需要已test开头。一个TestCase 的实例就是一个测试用例。测试用例就是一个完整的测试流程包括测试前准备环境的搭建(setUp)实现测试过程的代码(run)以及测试后环境的还原(tearDown)。单元测试(unittest)的本质也就在这里一个测试用例是一个完整的测试单元通过运行这个测试单元可以对某一个功能进行验证。最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。

相关新闻

数据资产评估效率低?AI架构师亲测:标准化方法让评估时间缩短50%

数据资产评估效率低?AI架构师亲测:标准化方法让评估时间缩短50%

数据资产评估效率低?AI架构师亲测:标准化方法让评估时间缩短50% 引言:一场关乎数据价值的生死时速 凌晨三点,会议室灯光惨白,王明揉着发胀的太阳穴,盯着屏幕上密密麻麻的数据表。作为一家金融科技公司的数据资产经理,他正带领团队为即将到来的监管数据资产入表要求做最…

2026/7/3 14:29:54 阅读更多 →
2024年最值得关注的AI语义索引技术趋势

2024年最值得关注的AI语义索引技术趋势

2024年最值得关注的AI语义索引技术趋势 关键词:AI语义索引、多模态融合、动态索引、可解释性、隐私保护、向量检索、知识图谱 摘要:本文将带您走进AI语义索引的世界,从“查字典”到“懂意思”的技术进化讲起,深入解析2024年最值得关注的五大核心趋势——多模态融合、动态实…

2026/7/5 0:29:18 阅读更多 →
大数据领域主数据管理的技术架构与选型

大数据领域主数据管理的技术架构与选型

大数据时代的主数据管理:技术架构拆解与选型实战指南 引言:为什么你的企业需要MDM? “为什么同样的客户信息,在销售系统里叫‘张三’,在财务系统里叫‘张小三’?” “为什么库存数据在ERP里显示有100件&a…

2026/7/3 14:30:00 阅读更多 →

最新新闻

告别Selenium弹窗噩梦:Playwright实现无头浏览器文件自动下载实战

告别Selenium弹窗噩梦:Playwright实现无头浏览器文件自动下载实战

1. 项目概述:为什么我们要告别Selenium?如果你做过Web自动化测试或者数据抓取,尤其是涉及到文件下载的场景,那你大概率经历过“弹窗噩梦”。浏览器原生的“另存为”对话框,就像一堵无法逾越的高墙,横亘在你…

2026/7/5 0:39:55 阅读更多 →
从光学到产品:护眼钢化膜的技术原理与实现路径深度解析(以悟赫德 scinique 技术为例)

从光学到产品:护眼钢化膜的技术原理与实现路径深度解析(以悟赫德 scinique 技术为例)

1. 引言:为什么我们需要 "护眼" 的手机膜?随着 OLED 屏幕在智能手机中的全面普及,以及用户日均用屏时长的不断增加(据统计,2026 年国内用户日均手机使用时长已超过 6.5 小时),视疲劳正…

2026/7/5 0:39:55 阅读更多 →
ASM330LHH与PIC18F25K80的工业级运动跟踪系统设计

ASM330LHH与PIC18F25K80的工业级运动跟踪系统设计

1. 从传感器到系统:ASM330LHH与PIC18F25K80的硬件搭档当我在工业自动化项目中第一次接触到ASM330LHH这颗6DoF惯性测量单元(IMU)时,立刻被它的性能参数所震撼。作为意法半导体MEMS传感器家族的重要成员,它在一个3x2.5x0.83mm的封装内集成了三轴…

2026/7/5 0:35:54 阅读更多 →
Python3与Java Hutool实现SM2国密算法跨语言加解密互通方案

Python3与Java Hutool实现SM2国密算法跨语言加解密互通方案

1. 项目概述与核心价值最近在做一个需要跨语言数据交换的项目,后端是Java,用到了Hutool这个“瑞士军刀”库来处理SM2国密算法的加解密,而另一个数据处理服务是用Python3写的。这就引出了一个很实际的问题:Java这边用Hutool加密的数…

2026/7/5 0:33:53 阅读更多 →
电商App签名逆向实战:从x-sign/x-miniwua看移动端安全防线

电商App签名逆向实战:从x-sign/x-miniwua看移动端安全防线

1. 项目概述:为什么我们要研究x-sign/x-miniwua? 如果你做过电商数据相关的爬虫或者自动化工具,那么“签名”这个词对你来说一定不陌生。它就像一道门禁,横亘在你和服务器数据之间。而某宝的 x-sign 和 x-miniwua &#xff0c…

2026/7/5 0:27:49 阅读更多 →
AI绘画提示词编写与优化全指南

AI绘画提示词编写与优化全指南

1. AI绘画提示词(Prompt)编写核心逻辑解析AI绘画的核心在于将自然语言描述转化为视觉元素,这个过程本质上是一种跨模态的信息转换。理解这个转换机制是编写优质Prompt的基础。现代AI绘画模型如Stable Diffusion、MidJourney都建立在扩散模型(Diffusion Model)架构上…

2026/7/5 0:25:48 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻