blob: c03b4c181407239076d3045adcfe6b4cd043b358 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
package org.junit.runner.notification;
import java.io.PrintWriter;
import java.io.Serializable;
import java.io.StringWriter;
import org.junit.runner.Description;
/**
* A <code>Failure</code> holds a description of the failed test and the
* exception that was thrown while running it. In most cases the {@link org.junit.runner.Description}
* will be of a single test. However, if problems are encountered while constructing the
* test (for example, if a {@link org.junit.BeforeClass} method is not static), it may describe
* something other than a single test.
*
* @since 4.0
*/
public class Failure implements Serializable {
private static final long serialVersionUID = 1L;
/*
* We have to use the f prefix until the next major release to ensure
* serialization compatibility.
* See https://github.com/junit-team/junit/issues/976
*/
private final Description fDescription;
private final Throwable fThrownException;
/**
* Constructs a <code>Failure</code> with the given description and exception.
*
* @param description a {@link org.junit.runner.Description} of the test that failed
* @param thrownException the exception that was thrown while running the test
*/
public Failure(Description description, Throwable thrownException) {
this.fThrownException = thrownException;
this.fDescription = description;
}
/**
* @return a user-understandable label for the test
*/
public String getTestHeader() {
return fDescription.getDisplayName();
}
/**
* @return the raw description of the context of the failure.
*/
public Description getDescription() {
return fDescription;
}
/**
* @return the exception thrown
*/
public Throwable getException() {
return fThrownException;
}
@Override
public String toString() {
return getTestHeader() + ": " + fThrownException.getMessage();
}
/**
* Convenience method
*
* @return the printed form of the exception
*/
public String getTrace() {
StringWriter stringWriter = new StringWriter();
PrintWriter writer = new PrintWriter(stringWriter);
getException().printStackTrace(writer);
return stringWriter.toString();
}
/**
* Convenience method
*
* @return the message of the thrown exception
*/
public String getMessage() {
return getException().getMessage();
}
}
|