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

第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 unittest


class Franc:
    def __init__(self, amount):
        self.amount = amount

    def 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.kler.cn/a/511778.html

相关文章:

  • Scade 表达式 - 迭代器
  • 简述mysql 主从复制原理及其工作过程,配置一主两从并验证。
  • 二十三种设计模式-装饰器模式
  • RabbitMQ---事务及消息分发
  • 总结3..
  • Amazon MSK 开启 Public 访问 SASL 配置的方法
  • SQL刷题快速入门(三)
  • AI时代的前端主流业务应用发展趋势
  • 使用 HTML 开发 Portal 页全解析
  • 1.简单的爬虫
  • LeetCode 第2815题:数组中的最大数对和
  • 有效的数独
  • 基于深度学习的微出血自动检测及解剖尺度定位|文献速递-视觉大模型医疗图像应用
  • 《鸿蒙Next应用商店:人工智能开启智能推荐与运营新时代》
  • 学习记录之原型,原型链
  • SDL2:PC端编译使用 -- SDL2多媒体库使用音频实例
  • 【Vscode】Vscode不能执行vue脚本的原因及解决方法
  • 2024年度数据科学与机器学习技术总结
  • Java 中求两个 List集合的交集元素
  • MECD+: 视频推理中事件级因果图推理--VLM长视频因果推理
  • Windows11电脑总是一闪一闪的,黑一下亮一些怎么解决
  • node.js 文件操作
  • 解决MAC安装软件时提示“xxx.app 显示已损坏”的方法
  • 抽奖系统(4——活动模块)
  • 网页固件升级界面设计
  • 【Maven】resources-plugin