I would like to use my realm manager into unit test module. I did
@Singleton
@Component(modules = {
TestApplicationModule.class,
AndroidSupportInjectionModule.class,
TestStoreDataModule.class,
TestUtilsModule.class})
public interface AppComponentTest extends AppComponent {
@Component.Builder
interface Builder {
@BindsInstance
AppComponentTest.Builder application(Application application);
AppComponentTest build();
}
}
and then I want to achieve
@RunWith(RobolectricTestRunner.class)
@Config(application = TestVerioriApplication.class, sdk=27)
public class BaseVerificationQuestionnaireFragmentTest {
@Inject
RealmManager realmManager;
}
But realmManager is null. How to use dagger 2 to write simple module test ? I used dagger-mock but it does not help. My module contains
@Module(includes = StoreDataModule.class)
public class TestStoreDataModule {
@Provides
@Singleton
public static RealmConfiguration provideRealmConfiguration(RealmConstants realmConstants) {
return new RealmConfiguration.Builder()
.name(realmConstants.getName())
.encryptionKey("Implement this key".getBytes())
.schemaVersion(realmConstants.getSchemaVersion())
.build();
}
@Provides
@Singleton
public static RealmManager provideRealmManager(RealmConfiguration realmConfiguration, SchedulerProvider schedulerProvider) {
return new RealmManager(realmConfiguration, schedulerProvider);
}
}
I tried everything from google, but I don't know how to inject object from graph.