我是Dagger 2的新手,我正在使用Dagger 2進行單元測試。我想測試我的演示者並模擬一些數據源(服務器連接,SharedPreferences)。
對於SharedPreferences,我在main
文件夾中有SharedPreferencesComponent
文件夾,在test/java
文件夾中有SharedPreferencesComponentFake
。問題是匕首不能生成DaggerSharedPreferencesComponentFake
因此我不能注入SharedPreferencesFake
而不是SharedPreferences。 我怎樣才能建立這樣的匕首將生成DaggerSharedPreferencesFake類,還是我用匕首2在錯誤的道路如何在test/java文件夾中生成DaggerComponent類?
1
A
回答
0
爲什麼不使用的Mockito,只是嘲笑SharedPreferencesComponent
Mockito.when(SharedPreferencesComponent.yourMethod(any(String.class)))
.thenReturn(yourWanterOutput);
這將使僞造課程變得不必要,代碼將變得更加清晰。
+0
這是真的,但我想知道的是測試是更好的使用匕首,我已經準備好假的分類 – user1796624
+0
您使用嘲笑和存根以隔離行爲。在這個特殊情況下,你不想測試共享偏好,這就是爲什麼你嘲笑他們的行爲,所以它是恆定的,對測試的最終結果並不關鍵。如果您要測試SharedPreferences的某些實際行爲,則可以使用匕首添加它們。你不能說匕首或嘲諷或殘留更適合測試他們都有不同的目的。 – toshkinl
相關問題
- 1. 如何在生成文件中爲目標創建文件夾
- 2. 如何在android中生成src類文件的類文件?
- 3. 如何重新生成.apt_generated文件夾
- 4. 如何在yii中的模塊文件夾中生成crud
- 5. 如何編輯生成文件夾中的Info.plist文件
- 6. 如何強制SilverLight在生成的代碼文件夾中生成代碼?
- 7. Android Studio不會在生成文件夾下生成映射文件夾
- 8. 如何在TFS在線生成後訪問工件文件夾?
- 9. 在「目標」文件夾中生成的Maven java類未編譯
- 10. 如何在Eclipse中刪除後重新生成bin文件夾?
- 11. 如何在靜態文件夾中生成MSTEST結果
- 12. 如何在Maven中爲生成的源創建文件夾?
- 13. sencha cmd,如何在子文件夾中生成視圖?
- 14. 如何在React Native項目中重新生成ios文件夾?
- 15. XSLT生成文件夾
- 16. Jekyll不生成文件夾
- 17. Xcode 4中的界面生成器。如何生成類文件?
- 18. 如何創建文件夾,然後將生成的文本文件保存在VBA中的該文件夾中?
- 19. 避免生成或編譯Resources文件夾中的文件夾
- 20. Maven生成的源文件夾文件
- 21. 從文件夾中自動生成PHP
- 22. 從git中刪除生成文件夾
- 23. 生成Entitities在單獨的文件夾
- 24. 如何阻止XCode生成xcuserdata文件夾和xcuserstate文件?
- 25. 如何製作源文件夾的生成文件?
- 26. Maven:如何在兩個文件夾中生成項目的war文件
- 27. 如何從csv文件生成java類
- 28. 如何從WSDL文件生成GWT類
- 29. 如何用java ASM生成類文件?
- 30. 如何從Json文件生成Java類?
請嘗試使用搜索功能,因爲這看起來像是一個問題,至少有3次問過,例如, http://stackoverflow.com/questions/36231457/dagger-not-generating-components-for-test-class –