I wrote some test, but Dagger2 gives errors like these:
Error: (83, 90) error: incompatible types: MembersInjector cannot be converted to Provider
Error: (92, 70) error: addendum_membersInjector cannot be applied to given types; required: Provider found: MembersInjector, Provider
I wrote test modules using Mockito
PresenterTestModule
@Provides @Singleton Model provideModel() { return mock(Model.class); } @Provides CompositeSubscription provideCompositeSubscription() { return new CompositeSubscription(); } ModelTestModule
private TestUtils testUtils; public ModelTestModule() { testUtils = new TestUtils(); } @Provides @Singleton ApiInterface provideApiInterface() { return mock(ApiInterface.class); } @Provides @Singleton @Named(Const.UI_THREAD) Scheduler provideSchedulerUI() { return Schedulers.immediate(); } @Provides @Singleton @Named(Const.IO_THREAD) Scheduler provideSchedulerIO() { return Schedulers.immediate(); } @Provides @Singleton List<Artist> provideArtistList() { Artist[] artists = testUtils.getGson().fromJson(testUtils.readString("raw/test.json"), Artist[].class); return Arrays.asList(artists); } ...
TestAppComponent
@Singleton @Component(modules = {ModelTestModule.class, PresenterTestModule.class, ViewTestModule.class, AppTestModule.class, UtilsTestModule.class, PicassoTestModule.class}) public interface TestComponent extends AppComponent { void inject(ArtistListPresenterTest presenterTest); void inject(ModelImplTest modelImplTest); } It is not clear why the test is not compiled, this repository was used as an example, but something went wrong