protected Statement withRules(final Interaction interaction, final Object target, final Statement statement) { final List<TestRule> testRules = testClass.getAnnotatedMethodValues(target, Rule.class, TestRule.class); testRules.addAll(testClass.getAnnotatedFieldValues(target, Rule.class, TestRule.class)); return testRules.isEmpty() ? statement : new RunRules(statement, testRules, describeChild(interaction)); } }
@Override public Description getDescription() { final Description description = Description.createSuiteDescription(testClass.getJavaClass()); for (Interaction i: pact.getInteractions()) { description.addChild(describeChild(i)); } return description; }
public void run(final RunNotifier notifier) { boolean allPassed = true; for (final Interaction interaction : pact.getInteractions()) { final Description description = describeChild(interaction); notifier.fireTestStarted(description); try { interactionBlock(interaction, pactSource).evaluate(); } catch (final Throwable e) { notifier.fireTestFailure(new Failure(description, e)); allPassed = false; } finally { notifier.fireTestFinished(description); } } boolean publishingDisabled = results.values() .stream().anyMatch(pair -> pair.getSecond().publishingResultsDisabled()); if (!publishingDisabled && (!(pact instanceof FilteredPact) || ((FilteredPact) pact).isNotFiltered())) { reportVerificationResults(allPassed); } else { if (publishingDisabled) { LOGGER.warn("Skipping publishing of verification results (" + PACT_VERIFIER_PUBLISHRESULTS + " is not set to 'true')"); } else { LOGGER.warn("Skipping publishing of verification results as the interactions have been filtered"); } } }