博客移动端网站模板,做二手车网站需要什么手续,学术会议网站建设,aspnet网站开发作业写在前面 这本书是我们老板推荐过的#xff0c;我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后#xff0c;我突然思考#xff0c;对于测试开发工程师来说#xff0c;什么才更有价值呢#xff1f;如何让 AI 工具更好地辅助自己写代码#xff0c;或许…写在前面 这本书是我们老板推荐过的我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后我突然思考对于测试开发工程师来说什么才更有价值呢如何让 AI 工具更好地辅助自己写代码或许优质的单元测试是一个切入点。 就我个人而言这本书确实很有帮助。第一次读的时候很多细节我都不太懂但将书中内容应用到工作中后我受益匪浅。比如面对一些让人抓狂的代码设计时书里的方法能让我逐步深入理解代码的逻辑与设计。 作为一名测试开发工程师我想把学习这本书的经验分享给大家希望能给大家带来帮助。因为现在工作中大多使用 Python 代码所以我把书中JAVA案例都用 Python 代码进行了改写 。 问题背景说明
在软件开发过程中需求变化是不可避免的。在货币类开发中客户可能提出实现不同币种货币转换的需求。通过编写新的测试用例来驱动代码的修改和扩展能够使代码更好地适应需求变化保持代码的灵活性和可维护性。
在开发过程中需求可能会发生变化。比如需要实现不同币种货币的转换这在Python TDD中需要通过编写新测试用例来驱动代码的修改。
14.1 思路说明
以将2瑞士法郎Franc转换成1美元Dollar为例编写测试用例来验证转换功能。然后根据测试需求在相关类中实现转换逻辑。
14.2 测试代码
import unittestclass Bank:def addRate(self, from_currency, to_currency, rate):passdef rate(self, from_currency, to_currency):passdef reduce(self, source, to):passclass Money:def __init__(self, amount, currency):self.amount amountself.currency currencydef reduce(self, bank, to):passclass Dollar(Money):def __init__(self, amount):super().__init__(amount, USD)class Franc(Money):def __init__(self, amount):super().__init__(amount, CHF)class TestCurrencyConversion(unittest.TestCase):def test_reduce_money_different_currency(self):bank Bank()bank.addRate(CHF, USD, 2)franc Franc(2)result franc.reduce(bank, USD)self.assertEqual(result.amount, 1)self.assertEqual(result.currency, USD)if __name__ __main__:unittest.main()14.3 源码说明
在测试类TestCurrencyConversion中test_reduce_money_different_currency测试用例创建了一个Bank对象并设置瑞士法郎到美元的汇率为2。创建一个金额为2的Franc对象调用reduce方法进行货币转换验证转换后的金额和货币类型是否正确。此时Bank类和Money类中的相关方法都是未实现的占位代码后续将根据测试需求逐步完善。