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);
}