1010
1111package org .junit .platform .launcher .core ;
1212
13- import static org .assertj .core .api .Assertions .assertThat ;
1413import static org .junit .platform .launcher .core .OutputDirectoryCreators .dummyOutputDirectoryCreator ;
1514import static org .mockito .Mockito .mock ;
15+ import static org .mockito .Mockito .spy ;
16+ import static org .mockito .Mockito .verify ;
1617
1718import java .util .Map ;
1819
19- import org .jspecify . annotations . Nullable ;
20+ import org .junit . jupiter . api . BeforeEach ;
2021import org .junit .jupiter .api .Test ;
2122import org .junit .platform .commons .util .ReflectionUtils ;
2223import org .junit .platform .engine .TestDescriptor ;
3435 */
3536class ExecutionListenerAdapterTests {
3637
37- @ Test
38- void testReportingEntryPublished () {
39- var testDescriptor = getSampleMethodTestDescriptor ();
38+ private TestDescriptor testDescriptor ;
39+ private InternalTestPlan testPlan ;
40+ private TestExecutionListener testExecutionListener ;
41+ private ExecutionListenerAdapter executionListenerAdapter ;
42+
43+ @ BeforeEach
44+ void setUp () {
45+ testDescriptor = getSampleMethodTestDescriptor ();
4046
4147 var discoveryResult = new LauncherDiscoveryResult (
4248 Map .of (mock (), EngineResultInfo .completed (testDescriptor , DiscoveryIssueNotifier .NO_ISSUES )), mock (),
4349 dummyOutputDirectoryCreator ());
44- var testPlan = InternalTestPlan .from (discoveryResult );
45- var testIdentifier = testPlan .getTestIdentifier (testDescriptor .getUniqueId ());
50+ testPlan = InternalTestPlan .from (discoveryResult );
4651
47- //not yet spyable with mockito? -> https://github.com/mockito/mockito/issues/146
48- var testExecutionListener = new MockTestExecutionListener ( );
49- var executionListenerAdapter = new ExecutionListenerAdapter ( testPlan , testExecutionListener );
52+ testExecutionListener = spy ( TestExecutionListener . class );
53+ executionListenerAdapter = new ExecutionListenerAdapter ( testPlan , testExecutionListener );
54+ }
5055
56+ @ Test
57+ void testReportingEntryPublished () {
58+ var testIdentifier = testPlan .getTestIdentifier (testDescriptor .getUniqueId ());
5159 var entry = ReportEntry .from ("one" , "two" );
60+
5261 executionListenerAdapter .reportingEntryPublished (testDescriptor , entry );
5362
54- assertThat (testExecutionListener .entry ).isEqualTo (entry );
55- assertThat (testExecutionListener .testIdentifier ).isEqualTo (testIdentifier );
63+ verify (testExecutionListener ).reportingEntryPublished (testIdentifier , entry );
5664 }
5765
5866 @ Test
5967 void testDynamicTestRegistered () {
60- var testDescriptor = getSampleMethodTestDescriptor ();
61-
62- var discoveryResult = new LauncherDiscoveryResult (
63- Map .of (mock (), EngineResultInfo .completed (testDescriptor , DiscoveryIssueNotifier .NO_ISSUES )), mock (),
64- dummyOutputDirectoryCreator ());
65- var testPlan = InternalTestPlan .from (discoveryResult );
66-
67- var testExecutionListener = new MockTestExecutionListener ();
68- var executionListenerAdapter = new ExecutionListenerAdapter (testPlan , testExecutionListener );
68+ var testIdentifier = testPlan .getTestIdentifier (testDescriptor .getUniqueId ());
6969
7070 executionListenerAdapter .dynamicTestRegistered (testDescriptor );
7171
72- var testIdentifier = testPlan .getTestIdentifier (testDescriptor .getUniqueId ());
73- assertThat (testExecutionListener .dynamicallyRegisteredIdentifier ).isEqualTo (testIdentifier );
72+ verify (testExecutionListener ).dynamicTestRegistered (testIdentifier );
7473 }
7574
7675 @ Test
7776 void testExecutionStarted () {
78- var testDescriptor = getSampleMethodTestDescriptor ();
79-
80- var discoveryResult = new LauncherDiscoveryResult (
81- Map .of (mock (), EngineResultInfo .completed (testDescriptor , DiscoveryIssueNotifier .NO_ISSUES )), mock (),
82- dummyOutputDirectoryCreator ());
83- var testPlan = InternalTestPlan .from (discoveryResult );
8477 var testIdentifier = testPlan .getTestIdentifier (testDescriptor .getUniqueId ());
8578
86- var testExecutionListener = new MockTestExecutionListener ();
87- var executionListenerAdapter = new ExecutionListenerAdapter (testPlan , testExecutionListener );
88-
8979 executionListenerAdapter .executionStarted (testDescriptor );
9080
91- assertThat (testExecutionListener . startedIdentifier ). isEqualTo (testIdentifier );
81+ verify (testExecutionListener ). executionStarted (testIdentifier );
9282 }
9383
9484 @ Test
9585 void testExecutionSkipped () {
96- var testDescriptor = getSampleMethodTestDescriptor ();
97-
98- var discoveryResult = new LauncherDiscoveryResult (
99- Map .of (mock (), EngineResultInfo .completed (testDescriptor , DiscoveryIssueNotifier .NO_ISSUES )), mock (),
100- dummyOutputDirectoryCreator ());
101- var testPlan = InternalTestPlan .from (discoveryResult );
10286 var testIdentifier = testPlan .getTestIdentifier (testDescriptor .getUniqueId ());
103-
104- var testExecutionListener = new MockTestExecutionListener ();
105- var executionListenerAdapter = new ExecutionListenerAdapter (testPlan , testExecutionListener );
106-
10787 var reason = "Test skipped due to condition" ;
88+
10889 executionListenerAdapter .executionSkipped (testDescriptor , reason );
10990
110- assertThat (testExecutionListener .skippedIdentifier ).isEqualTo (testIdentifier );
111- assertThat (testExecutionListener .skipReason ).isEqualTo (reason );
91+ verify (testExecutionListener ).executionSkipped (testIdentifier , reason );
11292 }
11393
11494 @ Test
11595 void testExecutionFinished () {
116- var testDescriptor = getSampleMethodTestDescriptor ();
117-
118- var discoveryResult = new LauncherDiscoveryResult (
119- Map .of (mock (), EngineResultInfo .completed (testDescriptor , DiscoveryIssueNotifier .NO_ISSUES )), mock (),
120- dummyOutputDirectoryCreator ());
121- var testPlan = InternalTestPlan .from (discoveryResult );
12296 var testIdentifier = testPlan .getTestIdentifier (testDescriptor .getUniqueId ());
123-
124- var testExecutionListener = new MockTestExecutionListener ();
125- var executionListenerAdapter = new ExecutionListenerAdapter (testPlan , testExecutionListener );
126-
12797 var result = mock (TestExecutionResult .class );
98+
12899 executionListenerAdapter .executionFinished (testDescriptor , result );
129100
130- assertThat (testExecutionListener .finishedIdentifier ).isEqualTo (testIdentifier );
131- assertThat (testExecutionListener .executionResult ).isEqualTo (result );
101+ verify (testExecutionListener ).executionFinished (testIdentifier , result );
132102 }
133103
134104 @ Test
135105 void testFileEntryPublished () {
136- var testDescriptor = getSampleMethodTestDescriptor ();
137-
138- var discoveryResult = new LauncherDiscoveryResult (
139- Map .of (mock (), EngineResultInfo .completed (testDescriptor , DiscoveryIssueNotifier .NO_ISSUES )), mock (),
140- dummyOutputDirectoryCreator ());
141- var testPlan = InternalTestPlan .from (discoveryResult );
142106 var testIdentifier = testPlan .getTestIdentifier (testDescriptor .getUniqueId ());
143-
144- var testExecutionListener = new MockTestExecutionListener ();
145- var executionListenerAdapter = new ExecutionListenerAdapter (testPlan , testExecutionListener );
146-
147107 var fileEntry = mock (FileEntry .class );
108+
148109 executionListenerAdapter .fileEntryPublished (testDescriptor , fileEntry );
149110
150- assertThat (testExecutionListener .fileEntryIdentifier ).isEqualTo (testIdentifier );
151- assertThat (testExecutionListener .publishedFileEntry ).isEqualTo (fileEntry );
111+ verify (testExecutionListener ).fileEntryPublished (testIdentifier , fileEntry );
152112 }
153113
154114 private TestDescriptor getSampleMethodTestDescriptor () {
@@ -161,72 +121,4 @@ private TestDescriptor getSampleMethodTestDescriptor() {
161121 void nothing () {
162122 }
163123
164- static class MockTestExecutionListener implements TestExecutionListener {
165-
166- @ Nullable
167- public TestIdentifier testIdentifier ;
168-
169- @ Nullable
170- public ReportEntry entry ;
171-
172- @ Nullable
173- public TestIdentifier dynamicallyRegisteredIdentifier ;
174-
175- @ Nullable
176- public TestIdentifier startedIdentifier ;
177-
178- @ Nullable
179- public TestIdentifier skippedIdentifier ;
180-
181- @ Nullable
182- public String skipReason ;
183-
184- @ Nullable
185- public TestIdentifier finishedIdentifier ;
186-
187- @ Nullable
188- public TestExecutionResult executionResult ;
189-
190- @ Nullable
191- public TestIdentifier fileEntryIdentifier ;
192-
193- @ Nullable
194- public FileEntry publishedFileEntry ;
195-
196- @ Override
197- public void dynamicTestRegistered (TestIdentifier testIdentifier ) {
198- this .dynamicallyRegisteredIdentifier = testIdentifier ;
199- }
200-
201- @ Override
202- public void executionStarted (TestIdentifier testIdentifier ) {
203- this .startedIdentifier = testIdentifier ;
204- }
205-
206- @ Override
207- public void executionSkipped (TestIdentifier testIdentifier , String reason ) {
208- this .skippedIdentifier = testIdentifier ;
209- this .skipReason = reason ;
210- }
211-
212- @ Override
213- public void executionFinished (TestIdentifier testIdentifier , TestExecutionResult testExecutionResult ) {
214- this .finishedIdentifier = testIdentifier ;
215- this .executionResult = testExecutionResult ;
216- }
217-
218- @ Override
219- public void reportingEntryPublished (TestIdentifier testIdentifier , ReportEntry entry ) {
220- this .testIdentifier = testIdentifier ;
221- this .entry = entry ;
222- }
223-
224- @ Override
225- public void fileEntryPublished (TestIdentifier testIdentifier , FileEntry fileEntry ) {
226- this .fileEntryIdentifier = testIdentifier ;
227- this .publishedFileEntry = fileEntry ;
228- }
229-
230- }
231-
232124}
0 commit comments