1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.surefire.junitcore;
20
21 import java.util.ArrayList;
22 import java.util.List;
23 import java.util.concurrent.atomic.AtomicInteger;
24
25 import org.apache.maven.surefire.api.report.ReportEntry;
26 import org.apache.maven.surefire.api.report.ReporterFactory;
27 import org.apache.maven.surefire.api.report.TestOutputReportEntry;
28 import org.apache.maven.surefire.api.report.TestSetReportEntry;
29
30 import static java.util.Collections.emptyMap;
31 import static org.mockito.Mockito.mock;
32
33
34
35
36 final class MockReporter extends ConcurrentRunListener {
37 private final List<String> events = new ArrayList<>();
38
39 static final String SET_STARTED = "SET_STARTED";
40
41 static final String SET_COMPLETED = "SET_COMPLETED";
42
43 static final String TEST_STARTED = "TEST_STARTED";
44
45 static final String TEST_COMPLETED = "TEST_COMPLETED";
46
47 static final String TEST_SKIPPED = "TEST_SKIPPED";
48
49 private final AtomicInteger testSucceeded = new AtomicInteger();
50
51 private final AtomicInteger testIgnored = new AtomicInteger();
52
53 private final AtomicInteger testFailed = new AtomicInteger();
54
55 private final AtomicInteger testError = new AtomicInteger();
56
57 MockReporter() {
58 super(mock(ReporterFactory.class), false, emptyMap());
59 }
60
61 @Override
62 public void testSetStarting(TestSetReportEntry report) {
63 events.add(SET_STARTED);
64 }
65
66 @Override
67 public void testSetCompleted(TestSetReportEntry report) {
68 events.add(SET_COMPLETED);
69 }
70
71 @Override
72 public void testStarting(ReportEntry report) {
73 events.add(TEST_STARTED);
74 }
75
76 @Override
77 public void testSucceeded(ReportEntry report) {
78 events.add(TEST_COMPLETED);
79 testSucceeded.incrementAndGet();
80 }
81
82 @Override
83 protected void checkIfTestSetCanBeReported(TestSet testSetForTest) {}
84
85 @Override
86 public void testSkipped(ReportEntry report) {
87 events.add(TEST_SKIPPED);
88 testIgnored.incrementAndGet();
89 }
90
91 @Override
92 public void testExecutionSkippedByUser() {}
93
94 public int getTestSucceeded() {
95 return testSucceeded.get();
96 }
97
98 public int getTestFailed() {
99 return testFailed.get();
100 }
101
102 @Override
103 public void testError(ReportEntry report) {
104 testError.incrementAndGet();
105 }
106
107 @Override
108 public void testFailed(ReportEntry report) {
109 testFailed.incrementAndGet();
110 }
111
112 @Override
113 public void testAssumptionFailure(ReportEntry report) {}
114
115 public boolean containsNotification(String event) {
116 return events.contains(event);
117 }
118
119 @Override
120 public void writeTestOutput(TestOutputReportEntry reportEntry) {}
121
122 @Override
123 public boolean isDebugEnabled() {
124 return false;
125 }
126
127 @Override
128 public void debug(String message) {}
129
130 @Override
131 public boolean isInfoEnabled() {
132 return false;
133 }
134
135 @Override
136 public void info(String message) {}
137
138 @Override
139 public boolean isWarnEnabled() {
140 return false;
141 }
142
143 @Override
144 public void warning(String message) {}
145
146 @Override
147 public boolean isErrorEnabled() {
148 return false;
149 }
150
151 @Override
152 public void error(String message) {}
153
154 @Override
155 public void error(String message, Throwable t) {}
156
157 @Override
158 public void error(Throwable t) {}
159 }