我是Dagger 2的新手,我正在使用Dagger 2进行单元测试。我想测试我的演示者并模拟一些数据源(服务器连接,SharedPreferences)
对于SharedPreferences,我在SharedPreferencesComponent
文件夹中有main
,在SharedPreferencesComponentFake
文件夹中有test/java
。问题是匕首无法生成DaggerSharedPreferencesComponentFake
因此我无法注入SharedPreferencesFake
而不是SharedPreferences。
我如何设置,所以dagger会生成DaggerSharedPreferencesFake类,或者我是以错误的方式使用dagger 2
答案 0 :(得分:0)
为什么不使用 Mockito 而只是模拟 SharedPreferencesComponent
Mockito.when(SharedPreferencesComponent.yourMethod(any(String.class)))
.thenReturn(yourWanterOutput);
这将使伪造类变得不必要,代码也会更清晰。