我是单元测试的新手,我只是想知道如果一个方法在内部调用自己的公共方法来计算返回值,如下所示:public Integer getTotalBeforeSubscriptionDiscount() { return getTotal() + getSubscriptionSavings()}我正在为它编写单元测试,我的问题是:我应该使用特定的整数值来匹配结果与期望的结果,例如Integer expected = 10;Integer actual = obj.getTotalBeforeSubscription();assertEquals(expected, actual);或者是否允许调用公共方法并在运行时计算预期值,如下所示:Integer expected = obj.getTotal() + obj.getSubscriptionSavings();assertEquals(expected, obj.getTotalBeforeSubscription());
2 回答
![?](http://img1.sycdn.imooc.com/54584c9c0001489602200220-100-100.jpg)
慕的地8271018
TA贡献1796条经验 获得超4个赞
在测试和被测类中使用相同的代码对您没有好处。
如果您在getTotal()
实现中引入错误,您的第二个选项仍然会通过,而错过了错误。
所以答案是,使用显式数字,或者至少使用不同的代码,例如expected = expectedTotal + expectedSavings
.
添加回答
举报
0/150
提交
取消