2015-10-14 55 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。

這次我強調了實際的答案,所以它不會再被刪除。