当前位置: 首页 > news >正文

第7章:Python TDD测试Franc对象乘法功能

写在前面


这本书是我们老板推荐过的,我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后,我突然思考,对于测试开发工程师来说,什么才更有价值呢?如何让 AI 工具更好地辅助自己写代码,或许优质的单元测试是一个切入点。 就我个人而言,这本书确实很有帮助。第一次读的时候,很多细节我都不太懂,但将书中内容应用到工作中后,我受益匪浅。比如面对一些让人抓狂的代码设计时,书里的方法能让我逐步深入理解代码的逻辑与设计。 作为一名测试开发工程师,我想把学习这本书的经验分享给大家,希望能给大家带来帮助。因为现在工作中大多使用 Python 代码,所以我把书中JAVA案例都用 Python 代码进行了改写 。

问题背景说明

当程序需要处理多种货币时,除了美元,其他货币(如法郎Franc)也需要类似的金额操作功能。以测试Franc对象的乘法功能为例,能够在已有Dollar类的开发基础上,进一步拓展货币类的功能范围,同时也能检验开发流程和测试方法在处理类似对象时的通用性和有效性。

当在Python TDD项目中需要处理新的货币对象Franc(法郎)时,我们可以借鉴之前Dollar对象的测试和开发经验。

7.1 思路说明

Franc对象与Dollar对象类似,都用于表示货币金额,并且需要具备金额乘法运算的功能。我们参考Dollar类的结构和测试方法,为Franc类编写测试用例,确保其乘法运算功能的正确性。

7.2 测试代码

import unittestclass Franc:def __init__(self, amount):self.amount = amountdef times(self, multiplier):return Franc(self.amount * multiplier)class TestFrancMultiplication(unittest.TestCase):def test_franc_multiplication(self):five = Franc(5)result = five.times(2)self.assertEqual(result.amount, 10)if __name__ == '__main__':unittest.main()

7.3 源码说明

Franc类的结构与Dollar类相似,包含构造函数__init__用于初始化金额,times方法用于进行金额乘法运算。测试类TestFrancMultiplication继承自unittest.TestCasetest_franc_multiplication测试用例创建了一个金额为5Franc对象five,调用times方法并传入乘数2,然后断言运算结果的金额是否等于10,以此验证Franctimes方法的正确性。

http://www.lryc.cn/news/524131.html

相关文章:

  • 两级式三相光伏并网逆变器Matlab/Simulink仿真模型
  • redis性能优化参考——筑梦之路
  • Ubuntu 22.04 TLS 忘记root密码,重启修改的解决办法
  • HTML<bdo>标签
  • STM32+W5500+以太网应用开发+003_TCP服务器添加OLED(u8g2)显示状态
  • 【机器学习实战中阶】使用SARIMAX,ARIMA预测比特币价格,时间序列预测
  • 各语言镜像配置汇总
  • 细说STM32F407单片机电源低功耗StopMode模式及应用示例
  • PHP语言的循环实现
  • 求两个矩阵的乘积
  • 警惕IDEA 2024版重大Bug问题:LomBok失效、Gradle冲突、Spring Boot启动错误
  • Go语言的正则表达式
  • 通过ssh连接debian
  • 计算机创造的奇迹——C语言
  • 磁盘阵列服务器和普通服务器的区别
  • 搭建一个人脸识别pipeline
  • Docker 之mysql从头开始——Docker下mysql安装、启动、配置、进入容器执行(查询)sql
  • LeetCodeHOT100:60. n个骰子的点数、4. 寻找两个正序数组的中位数
  • apisix的authz-casbin
  • 数学基础 --线性代数之理解矩阵乘法
  • TCP Window Full是怎么来的
  • 【22】Word:小李-高新技术企业政策❗
  • 大数据,Hadoop,HDFS的简单介绍
  • Python预训练视觉和大语言模型——精彩试读
  • html全局遮罩,通过websocket来实现实时发布公告
  • Vue3初学之Element-plus Form表单
  • 第14章:Python TDD应对货币类开发变化(一)
  • ElasticSearch索引别名的应用
  • C++和OpenGL实现3D游戏编程【连载21】——父物体和子物体模式实现
  • Mac苹果电脑 怎么用word文档和Excel表格?