为什么okhttp3.Response类是最终的

时间:2016-12-29 09:37:00

标签: java unit-testing okhttp3 okhttp

我正在尝试为类单元okhttp3编写单元测试,而我却在模拟okhttp3.Response类。

它被宣布为final,大多数模拟框架都无法模拟最终类。 我宁愿不使用Powermock只是为了这个。

查看代码我可以看到,有可能创建一个Response类的真实实例并在测试中使用它,但与仅仅模拟一个方法相比,它会有更多的代码和更少的可读性(在我的案件)。

okhttp3.Response类的“final”修饰符背后的任何具体原因或在以后的版本中删除它的任何计划?

1 个答案:

答案 0 :(得分:14)

Response是一个值类,因此永远不应该被嘲笑。您可以使用Response.Builder创建具有Response所需数据的实例。

没有计划删除final修饰符。