gpt4 book ai didi

java - 单元测试 - 如何正确计算断言的期望值

转载 作者:行者123 更新时间:2023-12-03 01:29:34 24 4
gpt4 key购买 nike

我是单元测试的新手,我只是想知道如果一个方法在内部调用它自己的公共(public)方法来计算返回值,如下所示:

public Integer getTotalBeforeSubscriptionDiscount() {
return getTotal() + getSubscriptionSavings()
}

我正在为其编写单元测试,我的问题是:我是否应该使用特定的整数值来将结果与期望相匹配,例如

Integer expected = 10;
Integer actual = obj.getTotalBeforeSubscription();
assertEquals(expected, actual);

或是否允许在运行时调用公共(public)方法并计算期望值,如下所示:

Integer expected = obj.getTotal() + obj.getSubscriptionSavings();
assertEquals(expected, obj.getTotalBeforeSubscription());

最佳答案

在测试中和被测类中使用相同的代码对您没有好处。

如果您在 getTotal() 实现中引入错误,您的第二个选项仍然会通过,但会忽略该错误。

所以答案是,使用明确的数字,或者至少使用不同的代码,例如expected = ExpectedTotal + ExpectedSavings

关于java - 单元测试 - 如何正确计算断言的期望值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51387772/

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