in surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java [70:124]
public String getString() {
if (testClass == null) {
return throwable.getLocalizedMessage();
}
final StringBuilder result = new StringBuilder();
final List<StackTraceElement> stackTraceElements = focusOnClass(stackTrace, testClass);
reverse(stackTraceElements);
final String testClassSimpleName = toSimpleClassName(testClassName);
if (stackTraceElements.isEmpty()) {
result.append(testClassSimpleName);
if (isNotEmpty(testMethodName)) {
result.append(".").append(testMethodName);
}
} else {
for (int i = 0, size = stackTraceElements.size(); i < size; i++) {
final StackTraceElement stackTraceElement = stackTraceElements.get(i);
final boolean isTestClassName = stackTraceElement.getClassName().equals(testClassName);
if (i == 0) {
result.append(testClassSimpleName).append(isTestClassName ? '.' : '>');
}
if (!isTestClassName) {
result.append(toSimpleClassName(stackTraceElement.getClassName()))
.append('.');
}
result.append(stackTraceElement.getMethodName())
.append(':')
.append(stackTraceElement.getLineNumber())
.append("->");
}
if (result.length() >= 2) {
result.setLength(result.length() - 2);
}
}
final Throwable target = throwable.getTarget();
final Class<?> excType = target.getClass();
final String excClassName = excType.getName();
final String msg = throwable.getMessage();
if (!(target instanceof AssertionError
|| "junit.framework.AssertionFailedError".equals(excClassName)
|| "junit.framework.ComparisonFailure".equals(excClassName)
|| excClassName.startsWith("org.opentest4j."))) {
result.append(rootIsInclass() ? " " : " » ").append(toMinimalThrowableMiniMessage(excType));
}
if (isNotEmpty(msg)) {
result.append(' ').append(msg);
}
return result.toString();
}