android-espresso
사용자 정의 Matchers를 만드는 방법?
수색…
TextView 테스트를위한 사용자 정의 matcher 예제 오류 메시지
- 다음 코드를 사용하여 테스트 패키지 내에 클래스 이름
ErrorMatcher작성하십시오.
public class ErrorMatcher {
@NonNull
public static Matcher<View> withError(final String expectedErrorText) {
Checks.checkNotNull(expectedErrorText);
return new BoundedMatcher<View, TextView>(TextView.class) {
@Override
public void describeTo(final Description description) {
description.appendText("error text: ");
stringMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(final TextView textView) {
return expectedErrorText.equals(textView.getError().toString());
}
};
}
}
로직 일치는 오류 메시지 텍스트가 예상 오류 텍스트 값과 동일한 TextView 요소를 찾은 다음 레이아웃 계층에있는 TextView 필드의 하위 집합을 TextView 합니다. describeTo 메소드는 디버그 출력에 사용됩니다.
- 그런 다음 아래와 같이 테스트 케이스에서 사용자 정의 matcher를 사용할 수 있습니다.
@Test
public void verifiesSignInErrorIsShown() {
onView(withId(R.id.email_sign_in_button)).perform(click());
onView(ErrorMatcher.withError("Your error text")).check(matches(isDisplayed()));
}
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow