Skip to content

Instantly share code, notes, and snippets.

@frogermcs
Created October 18, 2016 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save frogermcs/1d8d067e0610d2bace0c73933d6e62ad to your computer and use it in GitHub Desktop.
Save frogermcs/1d8d067e0610d2bace0c73933d6e62ad to your computer and use it in GitHub Desktop.
@RunWith(AndroidJUnit4.class)
public class MainActivityUITest {
@Rule
public MockitoRule mockitoRule = MockitoJUnit.rule();
@Rule
public ActivityTestRule<MainActivity> activityRule = new ActivityTestRule<>(MainActivity.class, true, false);
@Mock
MainActivityComponent.Builder builder;
@Mock
Utils utilsMock;
private MainActivityComponent mainActivityComponent = new MainActivityComponent() {
@Override
public void injectMembers(MainActivity instance) {
instance.mainActivityPresenter = new MainActivityPresenter(instance, utilsMock);
}
};
@Before
public void setUp() {
when(builder.build()).thenReturn(mainActivityComponent);
when(builder.activityModule(any(MainActivityComponent.MainActivityModule.class))).thenReturn(builder);
ApplicationMock app = (ApplicationMock) InstrumentationRegistry.getTargetContext().getApplicationContext();
app.putActivityComponentBuilder(builder, MainActivity.class);
}
@Test
public void checkTextView() {
String expectedText = "lorem ipsum";
when(utilsMock.getHardcodedText()).thenReturn(expectedText);
activityRule.launchActivity(new Intent());
onView(withId(R.id.textView)).check(matches(withText(expectedText)));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment