写在前面
**
这本书是我们老板推荐过的,我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后,我突然思考,对于测试开发工程师来说,什么才更有价值呢?如何让 AI 工具更好地辅助自己写代码,或许优质的单元测试是一个切入点。
就我个人而言,这本书确实很有帮助。第一次读的时候,很多细节我都不太懂,但将书中内容应用到工作中后,我受益匪浅。比如面对一些让人抓狂的代码设计时,书里的方法能让我逐步深入理解代码的逻辑与设计。
作为一名测试开发工程师,我想把学习这本书的经验分享给大家,希望能给大家带来帮助。因为现在工作中大多使用 Python 代码,所以我把书中JAVA案例都用 Python 代码进行了改写 。
**[
1. 编写测试代码
def test_multiplication():
# 创建一个金额为5的Dollar对象
five = Dollar(5)
# 调用times方法进行乘法运算
product = five.times(2)
# 断言验证乘法结果是否正确
assert product.amount == 10
product = five.times(3)
assert product.amount == 15
在这个测试函数中,我们期望Dollar类的times方法能够正确地进行金额乘法运算。
2. 编写初始的功能代码
class Dollar:
def __init__(self, amount):
self.amount = amount
def times(self, multiplier):
# 这里先简单返回一个固定值,使测试能够运行
return Dollar(0)
3. 改正功能代码以通过测试
class Dollar:
def __init__(self, amount):
self.amount = amount
def times(self, multiplier):
# 返回正确计算后的Dollar对象
return Dollar(self.amount * multiplier)
修改后的times方法能够根据传入的乘数正确计算出乘法结果,并返回一个新的Dollar对象。
现在,当我们运行test_multiplication测试函数时,所有的断言都将通过,这意味着我们的Dollar类的times方法已经实现了预期的功能。
通过这个简单的 Python 案例,我们展示了测试驱动开发的完整过程。