View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.maven.surefire.common.junit4;
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.TestOutputReportEntry;
27  import org.apache.maven.surefire.api.report.TestReportListener;
28  import org.apache.maven.surefire.api.report.TestSetReportEntry;
29  
30  /**
31   * Internal tests use only.
32   */
33  final class MockReporter implements TestReportListener<TestOutputReportEntry> {
34      private final List<String> events = new ArrayList<>();
35  
36      private static final String SET_STARTED = "SET_STARTED";
37  
38      private static final String SET_COMPLETED = "SET_COMPLETED";
39  
40      private static final String TEST_STARTED = "TEST_STARTED";
41  
42      private static final String TEST_COMPLETED = "TEST_COMPLETED";
43  
44      private static final String TEST_SKIPPED = "TEST_SKIPPED";
45  
46      private final AtomicInteger testSucceeded = new AtomicInteger();
47  
48      private final AtomicInteger testIgnored = new AtomicInteger();
49  
50      private final AtomicInteger testFailed = new AtomicInteger();
51  
52      private final AtomicInteger testError = new AtomicInteger();
53  
54      MockReporter() {}
55  
56      @Override
57      public void testSetStarting(TestSetReportEntry report) {
58          events.add(SET_STARTED);
59      }
60  
61      @Override
62      public void testSetCompleted(TestSetReportEntry report) {
63          events.add(SET_COMPLETED);
64      }
65  
66      @Override
67      public void testStarting(ReportEntry report) {
68          events.add(TEST_STARTED);
69      }
70  
71      @Override
72      public void testSucceeded(ReportEntry report) {
73          events.add(TEST_COMPLETED);
74          testSucceeded.incrementAndGet();
75      }
76  
77      @Override
78      public void testSkipped(ReportEntry report) {
79          events.add(TEST_SKIPPED);
80          testIgnored.incrementAndGet();
81      }
82  
83      @Override
84      public void testExecutionSkippedByUser() {}
85  
86      public int getTestSucceeded() {
87          return testSucceeded.get();
88      }
89  
90      public int getTestFailed() {
91          return testFailed.get();
92      }
93  
94      @Override
95      public void testError(ReportEntry report) {
96          testError.incrementAndGet();
97      }
98  
99      @Override
100     public void testFailed(ReportEntry report) {
101         testFailed.incrementAndGet();
102     }
103 
104     @Override
105     public void testAssumptionFailure(ReportEntry report) {}
106 
107     @Override
108     public void writeTestOutput(TestOutputReportEntry reportEntry) {}
109 
110     @Override
111     public boolean isDebugEnabled() {
112         return false;
113     }
114 
115     @Override
116     public void debug(String message) {}
117 
118     @Override
119     public boolean isInfoEnabled() {
120         return false;
121     }
122 
123     @Override
124     public void info(String message) {}
125 
126     @Override
127     public boolean isWarnEnabled() {
128         return false;
129     }
130 
131     @Override
132     public void warning(String message) {}
133 
134     @Override
135     public boolean isErrorEnabled() {
136         return false;
137     }
138 
139     @Override
140     public void error(String message) {}
141 
142     @Override
143     public void error(String message, Throwable t) {}
144 
145     @Override
146     public void error(Throwable t) {}
147 }