第一次接觸Mock單測,犯了很多錯誤,把其中的一些問題記錄一下,希望以後記得。
1,建立test包的問題,參考之前寫的一篇博客, https://mp.csdn.net/postedit/88902535
2,mock.when(參數一,參數二),假如參數一是這種 any類型的,第二個參數不可以是具體類,比如 Apple.class,應該採用 eq(Apple.class) 去包裝一下。
3,假如當前mock了一個方法,這個方法裏面調用了所在類的一個屬性對象,這個屬性對象會報空指針異常,需要通過反射的方法創建一下這個屬性對象,比如下面這個例子,AlogAuthValidateStrategy類中有一個 AlogWriteClient 類型的屬性對象,需要把這個對象用 @Mock 出來,再通過下面這種反射的方式去處理一下。
MemberModifier.field(AlogAuthValidateStrategy.class, "alogWriteClient").set(alogAuthValidateStrategy,alogWriteClient);
4,多debug,分析仔細點,一些問題debug之後可以看出問題的。
5,推薦一篇博客,https://blog.csdn.net/bboyfeiyu/article/details/52127551 ,謝謝這位大佬了,有時間可以看看內容。