我正在尝试为类单元okhttp3编写单元测试,而我却在模拟okhttp3.Response类。
它被宣布为final,大多数模拟框架都无法模拟最终类。 我宁愿不使用Powermock只是为了这个。
查看代码我可以看到,有可能创建一个Response类的真实实例并在测试中使用它,但与仅仅模拟一个方法相比,它会有更多的代码和更少的可读性(在我的案件)。
okhttp3.Response类的“final”修饰符背后的任何具体原因或在以后的版本中删除它的任何计划?
答案 0 :(得分:14)
Response
是一个值类,因此永远不应该被嘲笑。您可以使用Response.Builder
创建具有Response
所需数据的实例。
没有计划删除final
修饰符。