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

第3章:Python TDD更新测试用例测试Dollar类

写在前面


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

问题背景说明

在完成Dollar类的初步构建后,单一的测试用例可能无法全面验证其功能的正确性和稳定性。为了确保Dollar类在各种情况下都能正确工作,需要增加更多的测试用例,覆盖不同的输入值和操作场景,进一步提高代码的质量,降低潜在的错误风险。

为了更全面地测试Dollar类的功能,我们需要对测试用例进行更新,以覆盖更多的使用场景和边界条件。

3.1 思路说明

在之前的基础上,我们增加新的测试用例来验证Dollar类在不同输入情况下的表现。通过多个测试用例,可以更深入地检查Dollar类的功能是否稳定可靠,确保代码的质量。

3.2 测试代码

import unittest


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

    def times(self, multiplier):
        return self.amount * multiplier


class TestDollar(unittest.TestCase):
    def test_dollar_multiplication(self):
        five = Dollar(5)
        result = five.times(2)
        self.assertEqual(result, 10)

    def test_dollar_multiplication_different_input(self):
        ten = Dollar(10)
        result = ten.times(3)
        self.assertEqual(result, 30)


if __name__ == '__main__':
    unittest.main()

3.3 源码说明

在这段代码中,我们在TestDollar测试类中新增了test_dollar_multiplication_different_input测试用例。该测试用例创建了一个金额为10Dollar对象ten,调用times方法并传入乘数3,然后断言运算结果是否等于30。通过这个新的测试用例,我们进一步验证了times方法在不同输入下的正确性,增强了代码的可靠性。


http://www.kler.cn/a/510457.html

相关文章:

  • 【C++课程学习】:C++中的IO流(istream,iostream,fstream,sstream)
  • 计算机网络 | IP地址、子网掩码、网络地址、主机地址计算方式详解
  • STL--set(集合)
  • redis-排查命中率降低问题
  • 抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15最新版
  • python编程-OpenCV(图像读写-图像处理-图像滤波-角点检测-边缘检测)边缘检测
  • 企业级NoSQL数据库Redis
  • 2025年1月19日(振动控制研究历史)
  • 使用通用预训练范式为 3D 基础模型铺平道路
  • Syncthing在ubuntu下的安装使用
  • AUTOSAR从入门到精通-自动驾驶测试技术
  • 三天急速通关Java基础知识:Day1 基本语法
  • c# 设置Regex Multiline无效问题
  • 【C++】了解stack和queue
  • nlp培训重点-3
  • Coder星球-测试用例设计
  • 【脑机接口数据处理】 如何读取Trode 的.rec文件 原始数据?
  • Linux虚拟机安装与FinalShell使用:探索Linux世界的便捷之旅
  • 机器学习:监督学习与非监督学习
  • 【Rust自学】13.8. 迭代器 Pt.4:创建自定义迭代器
  • 解锁C#语法的无限可能:从基础到进阶的编程之旅
  • YOLOv10-1.1部分代码阅读笔记-loss.py
  • 达梦数据库经验笔记
  • React第二十三章(useId)
  • 深度学习 DAY2:Transformer(一部分)
  • BPF CO-RE(三)——在用户开发中的应用