/** * Convenience method * * @return the message of the thrown exception */ public String getMessage() { return getException().getMessage(); } }
/** * Convenience method * * @return the message of the thrown exception */ public String getMessage() { return getException().getMessage(); } }
private static boolean isAssumptionFailed(Failure failure) { //noinspection ThrowableResultOfMethodCallIgnored final Throwable exception = failure.getException(); //noinspection SimplifiableIfStatement if (exception == null) { return false; } return "org.junit.internal.AssumptionViolatedException".equals(exception.getClass().getCanonicalName()); } }
/** * Convenience method * * @return the printed form of the exception */ public String getTrace() { StringWriter stringWriter = new StringWriter(); PrintWriter writer = new PrintWriter(stringWriter); getException().printStackTrace(writer); StringBuffer buffer = stringWriter.getBuffer(); return buffer.toString(); }
/** * Gets the printed form of the exception and its stack trace. */ public String getTrace() { return Throwables.getStacktrace(getException()); }
/** * Gets a the printed form of the exception, with a trimmed version of the stack trace. * This method will attempt to filter out frames of the stack trace that are below * the test method call. */ public String getTrimmedTrace() { return Throwables.getTrimmedStackTrace(getException()); }
@Override public boolean matchesSafely(PrintableResult item) { return item.failureCount() == 1 && matcher.matches(item.failures().get(0).getException()); }
@Override public void testFailure(final Failure failure) throws Exception { if ( failure.getException() instanceof TestTimedOutException ) { writeThreadDump(); } write("testFailure", failure); }
@Override public void testFailure(Failure failure) throws Exception { result.addError(asTest(failure.getDescription()), failure.getException()); }
@Override public void testFailure(Failure failure) throws Exception { result.addError(asTest(failure.getDescription()), failure.getException()); }
@Override public void testAssumptionFailure(Failure failure) { notified.add(failure.getDescription()); ITestResult tr = m_findedMethods.get(failure.getDescription()); validate(tr, failure.getDescription()); runAfterInvocationListeners(tr); tr.setStatus(TestResult.SKIP); tr.setEndMillis(Calendar.getInstance().getTimeInMillis()); tr.setThrowable(failure.getException()); m_parentRunner.addSkippedTest(tr.getMethod(), tr); for (ITestListener l : m_listeners) { l.onTestSkipped(tr); } }
@Test public void failsWithOne() { Result result = TestRunner.runTest(FailsWithOne.class); assertThat(result.wasSuccessful()).isFalse(); List<Failure> failures = result.getFailures(); assertThat(failures.size()).as("Failures: " + failures).isEqualTo(1); Failure failure = failures.get(0); assertThat(failure.getException()).isExactlyInstanceOf(CustomException.class) .hasMessage(FailsWithOne.message); assertThat(FailsWithOne.count).isEqualTo(1); }
@Test public void failingTestShouldFailOneTimeWhenRepeatIsTwo() { Result result = TestRunner.runTest(FailingTestShouldFailOneTimeWhenRepeatIsTwo.class); assertThat(result.wasSuccessful()).isFalse(); List<Failure> failures = result.getFailures(); assertThat(failures.size()).as("Failures: " + failures).isEqualTo(1); Failure failure = failures.get(0); assertThat(failure.getException()).isExactlyInstanceOf(AssertionError.class) .hasMessage(ASSERTION_ERROR_MESSAGE); assertThat(FailingTestShouldFailOneTimeWhenRepeatIsTwo.count).isEqualTo(1); }
@Test public void futureTimesOut() { Result result = TestRunner.runTest(TimesOut.class); assertThat(result.wasSuccessful()).isFalse(); assertThat(result.getFailures()).hasSize(1); Failure failure = result.getFailures().get(0); assertThat(failure.getException()).isInstanceOf(TimeoutException.class); }
@Test public void zeroIsIllegal() { Result result = TestRunner.runTest(ZeroIsIllegal.class); assertThat(result.wasSuccessful()).isFalse(); List<Failure> failures = result.getFailures(); assertThat(failures.size()).as("Failures: " + failures).isEqualTo(1); Failure failure = failures.get(0); assertThat(failure.getException()).isExactlyInstanceOf(IllegalArgumentException.class) .hasMessage(ZeroIsIllegal.message); assertThat(ZeroIsIllegal.count).isEqualTo(0); }
@Test public void zeroIsIllegal() { Result result = TestRunner.runTest(ZeroIsIllegal.class); assertThat(result.wasSuccessful()).isFalse(); List<Failure> failures = result.getFailures(); assertThat(failures.size()).as("Failures: " + failures).isEqualTo(1); Failure failure = failures.get(0); assertThat(failure.getException()).isExactlyInstanceOf(IllegalArgumentException.class) .hasMessage(ZeroIsIllegal.message); assertThat(ZeroIsIllegal.count).isEqualTo(0); }
@Test public void negativeValueShouldThrowIllegalArgumentException() { Result result = TestRunner.runTest(NegativeValueShouldThrowIllegalArgumentException.class); assertThat(result.wasSuccessful()).isFalse(); List<Failure> failures = result.getFailures(); assertThat(failures.size()).as("Failures: " + failures).isEqualTo(1); Failure failure = failures.get(0); assertThat(failure.getException()).isExactlyInstanceOf(IllegalArgumentException.class) .hasMessage("Repeat value must be a positive integer"); assertThat(NegativeValueShouldThrowIllegalArgumentException.count).isEqualTo(0); }
@Test public void failingTestShouldFailOneTimeWhenRepeatIsOne() { Result result = TestRunner.runTest(FailingTestShouldFailOneTimeWhenRepeatIsOne.class); assertThat(result.wasSuccessful()).isFalse(); List<Failure> failures = result.getFailures(); assertThat(failures.size()).as("Failures: " + failures).isEqualTo(1); Failure failure = failures.get(0); assertThat(failure.getException()).isExactlyInstanceOf(AssertionError.class) .hasMessage(ASSERTION_ERROR_MESSAGE); assertThat(FailingTestShouldFailOneTimeWhenRepeatIsOne.count).isEqualTo(1); }
@Test public void failsWhenTimeoutIsLate() { Result result = TestRunner.runTest(FailsWhenTimeoutIsLate.class); assertThat(result.wasSuccessful()).isFalse(); List<Failure> failures = result.getFailures(); assertThat(failures.size()).as("Failures: " + failures).isEqualTo(1); Failure failure = failures.get(0); assertThat(failure.getException()).isExactlyInstanceOf(AssertionError.class) .hasMessage("Expected test to throw (an instance of " + TimeoutException.class.getName() + " and exception with message a string containing \"" + FailsWhenTimeoutIsLate.message + "\")"); }
@Test public void testReportLateFailures() { Result result; try { result = new JUnitCore().run(new BlockJUnit4ClassRunner(LateFailureReport.class)); } catch (InitializationError initializationError) { throw new AssertionError(initializationError); } assertEquals(1, result.getFailureCount()); assertEquals(IllegalStateException.class, result.getFailures().get(0).getException().getClass()); } }