Java 类android.support.test.espresso.FailureHandler 实例源码
项目:espresso-macchiato
文件:EspScreenshotFailureHandlerTest.java
@Test
public void testForCoverage() {
espScreenshotFailureHandler.delegate = new FailureHandler() {
@Override
public void handle(Throwable error, Matcher<View> viewMatcher) {
// avoid that exception is thrown by default failure handler
}
};
espScreenshotFailureHandler.handle(new TestException(), isRoot());
File screenshot = new File(InstrumentationRegistry.getTargetContext().getFilesDir(), "test-screenshots/Failed-EspScreenshotFailureHandlerTest.testForCoverage.png");
assertThat(screenshot.exists(), is(true));
//noinspection ResultOfMethodCallIgnored
screenshot.delete();
}
项目:espresso-macchiato
文件:EspScreenshotFailureHandlerTest.java
@Test
public void testScreenshotFailure() {
espScreenshotFailureHandler.delegate = new FailureHandler() {
@Override
public void handle(Throwable error, Matcher<View> viewMatcher) {
// avoid that exception is thrown by default failure handler
wasDelegateCalled = true;
}
};
InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
espScreenshotFailureHandler.handle(new TestException(), isRoot());
}
});
assertTrue(wasDelegateCalled);
}
项目:spotify-tv
文件:FailureScreenshotRule.java
public void setupFailureHandler(Description description) {
final String testClassName = description.getClassName();
final String testMethodName = description.getMethodName();
final Context context = InstrumentationRegistry.getTargetContext();
Espresso.setFailureHandler(new FailureHandler() {
@Override
public void handle(Throwable throwable, Matcher<View> matcher) {
SpoonScreenshotAction.perform("espresso_assertion_failed", testClassName, testMethodName);
new DefaultFailureHandler(context).handle(throwable, matcher);
}
});
}
项目:SecretSauce
文件:SpoonTestRule.java
@Override
public Statement apply(final Statement base, final Description description) {
Espresso.setFailureHandler(new FailureHandler() {
@Override
public void handle(Throwable error, Matcher<View> viewMatcher) {
Spoon.screenshot(SpoonTestRule.this.getActivity(), error.getClass().getSimpleName(), description.getClassName(), description.getMethodName());
new DefaultFailureHandler(SpoonTestRule.this.getActivity()).handle(error, viewMatcher);
}
});
return super.apply(base, description);
}
项目:Ironhide
文件:CustomFailureHandlerTest.java
/**
* Replaces NoMatchingViewException with MySpecialException (to be caught in the test)
*/
@Override
public void onFailure(FailureHandler delegate, Throwable error, Matcher<View> viewMatcher) {
try {
delegate.handle(error, viewMatcher);
} catch (NoMatchingViewException e) {
throw new MySpecialException(e);
}
}
项目:BBQTimer
文件:CustomMatchers.java
/**
* <b>Modifies the given ViewInteraction</b> to have a no-op FailureHandler. Use this, e.g.,
* to perform an action on a View if it's visible and not complain if it isn't.
*
* @return the modified ViewInteraction
*/
static ViewInteraction ignoringFailures(@NonNull ViewInteraction interaction) {
return interaction.withFailureHandler(new FailureHandler() {
@Override
public void handle(Throwable error, Matcher<View> viewMatcher) {
}
});
}
项目:Ironhide
文件:BaseInstrumentTestCase.java
/** @see android.support.test.espresso.Espresso#setFailureHandler(android.support.test.espresso.FailureHandler) */
protected void onFailure(FailureHandler delegate, Throwable error, Matcher<View> viewMatcher) {
delegate.handle(error, viewMatcher);
}