2015-10-14 53 views
0

比方说,我有以下断言测试:改造errorBody()应该返回可选

assertThat(response.isSuccess()).as(response.errorBody().string()).isTrue(); 

它会抛出NullPointerException异常时的反应是成功的,因此测试不能成功。

我需要让soemthing这样的:

String errorDescription = response.errorBody() == null ? "" : response.errorBody().string(); 
assertThat(response.isSuccess()).as(errorDescription).isTrue(); 

这是丑陋的。是否有可能将errorBody包含在可选中,或者有更好的方法来做到这一点?

+0

如果请求成功,则错误主体将为空。 –

+0

这正是我在我的帖子中声称的。我之所以写它的原因是询问改造创造者是否可以改变他们的api来返回可选项而不是null(我知道他们正在使用改进标签来压缩stackoverflow帖子),或者也许别人知道替代这种解决方法。 –

回答

0

有人删除了我的答案,说我只提供网址给github它的答案。这是我的回答后:

回答了改造的github上:https://github.com/square/retrofit/issues/1304

选配不适用于Android。

这次我强调了实际的答案,所以它不会再被删除。