4
내 응용 프로그램 중 하나에 대한 자동화 된 테스트를 작성하고 싶습니다. 모든 기능에는 로그인이 필요합니다.Espresso + Junit4 - 모든 테스트를 실행하기 전에 한 번 로그인하십시오.
그래서 필자는 테스트를 작성했지만 각 테스트마다 로그인을 수행하고 기능을 테스트하고 있습니다. 어쨌든 한 번만 로그인 한 다음 모든 테스트를 실행하는 데 도움이됩니까?
가장 쉬운 방법은 하나의 테스트 방법으로 모든 테스트를 작성하는 것입니다. 그러나 나는 그것을 성취하는 것이 추악한 방법 일 것이라고 생각합니다. 모든 클리너 솔루션이므로 테스트는 한 번만 로그인 한 다음 테스트 세트를 실행합니다.
@RunWith(AndroidJUnit4.class)
public class AllDisabledTest {
public static final String USER_NAME = "all_disabled";
public static final String DISPLAY_NAME = "All Disabled";
public static final String PASSWORD = "1234";
@Rule
public ActivityTestRule<LoginActivity> mActivityRule = new ActivityTestRule<>(
LoginActivity.class);
@Before
public void loginToApp(){
onView(withId(R.id.edit_email)).perform(replaceText(USER_NAME));
onView(withId(R.id.edit_password)).perform(replaceText(PASSWORD));
onView(withId(R.id.login_button)).perform(click());
}
@Test
public void checkIfFoodItemAddedToCart(){
onData(anything()).inAdapterView(withId(R.id.menu_item_grid)).atPosition(2).perform(click());
onData(anything()).inAdapterView(withId(R.id.listview)).atPosition(0).onChildView(withId(R.id.item_name)).check(matches(withText("BLUEITEM")));
}
}
가 사전에 감사합니다 :) : 다음
내 테스트 코드입니다.