Jul 27, 2017 · 1 min read
Hi Fabio, very nice article
i am having trouble in creating a unit test case for activity onCreate Method.please find below my Activity and Activity Test code.
Main Activity
@Inject
protected IMainPresenter mPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
( (MyApplication)getApplication()).getAppComponent().inject(this);
mPresenter.setContext(this);
mPresenter.sayhello();
}
@Inject
public MainActivity(IMainPresenter mainPresenter)
{
mPresenter=mainPresenter;
}Test Main Activity
public class MainActivityTest {
@Rule
public DaggerMockRule<AppComponent> rule = new DaggerMockRule<>(AppComponent.class,
new MainModule())
.set(new DaggerMockRule.ComponentSetter<AppComponent>() {
@Override public void setComponent(AppComponent component) {
mMainActivity = component.provideMainActivity();
}
});
MainActivity mMainActivity;
@Mock
protected IMainPresenter mIMainPresenter;
@Mock
protected Bundle mBundle;
@Test
public void testonCreate() throws Exception {
mMainActivity.onCreate(mBundle);
Mockito.verify(mIMainPresenter,Mockito.times(1)).sayhello();
}
}but its giving me runtime error . any pointers on what is going wrong here