Gibt es eine Möglichkeit zu laufen, Espresso-test mit mehreren test-Methoden, aber nur eine setup-Methode?

Habe ich einen einfachen test heute:

@RunWith(AndroidJUnit4.class)
@LargeTest
public class WhenNavigatingToUsersView {

    @Rule
    public ActivityTestRule<MainActivity> mActivityRule = 
        new ActivityTestRule(MainActivity.class);
    private MainActivity mainActivity;

    @Before
    public void setActivity() {
        mainActivity = mActivityRule.getActivity();
        onView(allOf(withId(R.id.icon), hasSibling(withText(R.string.users)))).perform(click());
    }

    @Test
    public void thenCorrectViewTitleShouldBeShown() {
        onView(withText("This is the Users Activity.")).check(matches(isDisplayed()));
    }

    @Test
    public void thenCorrectUserShouldBeShown() {
        onView(withText("Donald Duck (1331)")).check(matches(isDisplayed()));
    }
}

Aber für jede test-Methode die setActivity ausgeführt, die, wenn Sie 10-15 Methoden, am Ende wird sehr zeitaufwändig sein, (wenn Sie haben eine Menge von Ansichten zu).

@BeforeClass scheint nicht zu funktionieren, da es zu statisch und so zwingt die ActivityTestRule werden sowohl statische als auch.

Also gibt es irgendeine andere Möglichkeit, dies zu tun? Anstatt mehrere asserts in die gleiche test Methode?

InformationsquelleAutor peuhse | 2015-05-29
Schreibe einen Kommentar