Java 以下各项的TDD方法

Java 以下各项的TDD方法,java,tdd,Java,Tdd,您可以为下面的枚举类编写多少个测试。我正在寻找下列订单 给出以下命令 java fileName HORIZON_BOX, HORIZON_BOX_WITH_CC,HORIZON_BOX_WITH_CC 1 HORIZON_BOX: 20.00 2 HORIZON_BOX_WITH_CC @ 30.00 : 60.00 GRAND TOTAL : 80.00 解决这个问题的最佳解决方法是什么 public enum Product { HORIZON_BOX(30.00),

您可以为下面的枚举类编写多少个测试。我正在寻找下列订单

给出以下命令

java fileName HORIZON_BOX, HORIZON_BOX_WITH_CC,HORIZON_BOX_WITH_CC

1 HORIZON_BOX: 20.00
2 HORIZON_BOX_WITH_CC @ 30.00 : 60.00
GRAND TOTAL : 80.00
解决这个问题的最佳解决方法是什么

public enum Product {

    HORIZON_BOX(30.00),
    HORIZON_BOX_WITH_CC(50.00),
    HORIZON_BOX_WITH_CC_2_TB(100.00),
    HORIZON_MULTIROOM(75.00),
    HUB(20.00);

    private double price;

    private Product(double price) {
        this.price = price;
    }

    public double getPrice() {
        return price;
    }

}

我认为对于这个枚举来说,唯一有意义的测试是为每个值创建一个实例,并检查getPrice()方法是否返回预期的价格

关于你对枚举所做的算术:这是一个不同的问题,如果没有看到你做这件事的实际来源和你的需求,就无法回答这个问题。设计单元测试时通常的思维过程是:

  • 根据我的规范,什么是正常用例
  • 哪些罕见的边缘情况可能难以处理或需要特殊逻辑(如最小或最大允许值)
  • 规范之外哪些用例会导致错误
  • 是否测试了所有可能的代码路径

顺便说一下:你不应该用double来表示货币价值。您应该使用,因为它允许您指定小数位数和舍入策略。普通的双精度算术不遵循金融交易中惯用的四舍五入规则。有关详细信息,请参阅。

到目前为止,您都尝试了什么?看起来像是一个家庭作业,您希望在没有尝试任何东西的情况下得到完整答案:)我已经编写了所有代码。我只是想提高自己,并希望得到建议。由于我是论坛上的新手,我不知道在哪里可以显示我所做的所有代码。或者将其粘贴到您的问题中,或者如果它太长,您可以创建一个链接并将其链接到此处。如果您想查看代码,我将其保存在此处,谢谢。我从你们身上学到了很多。我已经测试了所有的枚举和getPrice方法。我还使用了HashMap和switch结构来获得预期的输出。我想张贴我的代码,并得到一些坦率的反馈非常感谢菲利普。这个网站是做什么的?只需回答,或者我也可以在这里输入更小的代码。我已经把我的问题贴在这里了。如果您想了解stackexchange.com网络站点的范围,请阅读该站点的说明。