gpt4 book ai didi

java - 来自 Kent Beck 的 TDD 的 Money Example by example

转载 作者:搜寻专家 更新时间:2023-10-31 19:49:08 24 4
gpt4 key购买 nike

因此,我已经完成了 Kent Beck 的书示例测试驱动开发 中的 Money 示例,并且能够使代码正常运行,直到他编写的最后一个测试为止:

@Test
public void testPlusSameCurrencyReturnsMoney(){
Expression sum = Money.dollar(1).plus(Money.dollar(1));
assertTrue(sum instanceof Money);
}

这是调用的函数

public Expression plus(Expression addend) {
return new Sum(this, addend);
}

当我运行它时,它给出了 java.lang.AssertionError,所以我的问题是它为什么会给出这个错误,我该如何修复它?

最佳答案

Lunivore 已经回答了如何解决问题的问题,但我认为如果您想更多地了解 Beck 试图做什么,您应该重新阅读代码块(和测试)前后的段落传达。

最后一句是“这是我们必须修改以使其工作的代码:”。该代码块首先在第 75 页输入(带有测试用例)。第 79 页的最终效果没有任何变化。这只是表明如果我们想保留此测试,我们可以更改的内容。

“当且仅当它是 Money 时,没有明显、干净的方法来检查论证的货币。实验失败,我们删除测试,然后离开。”

他还表示这个测试很丑陋,并在下一页上得出结论“尝试了一个简短的实验,然后在没有成功时将其丢弃”。

我写这篇文章是为了防止您认为所有示例都有效并且应该保留。

关于java - 来自 Kent Beck 的 TDD 的 Money Example by example,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7716283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com