Skip to content

Commit d749d29

Browse files
committed
Use new features from JUnit Jupiter 5.11
This commit primarily migrates to the new argumentSet() feature but also applies additional polishing to our use of parameterized tests. See gh-33395
1 parent 2eff5cb commit d749d29

File tree

23 files changed

+174
-166
lines changed

23 files changed

+174
-166
lines changed

spring-core/src/test/java/org/springframework/core/io/ResourceTests.java

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@
5454
import static org.assertj.core.api.Assertions.assertThat;
5555
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
5656
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
57-
import static org.junit.jupiter.api.Named.named;
58-
import static org.junit.jupiter.params.provider.Arguments.arguments;
57+
import static org.junit.jupiter.params.provider.Arguments.argumentSet;
5958

6059
/**
6160
* Tests for various {@link Resource} implementations.
@@ -67,7 +66,7 @@
6766
*/
6867
class ResourceTests {
6968

70-
@ParameterizedTest(name = "{index}: {0}")
69+
@ParameterizedTest
7170
@MethodSource("resource")
7271
void resourceIsValid(Resource resource) throws Exception {
7372
assertThat(resource.getFilename()).isEqualTo("ResourceTests.class");
@@ -79,7 +78,7 @@ void resourceIsValid(Resource resource) throws Exception {
7978
assertThat(resource.getContentAsByteArray()).containsExactly(Files.readAllBytes(Path.of(resource.getURI())));
8079
}
8180

82-
@ParameterizedTest(name = "{index}: {0}")
81+
@ParameterizedTest
8382
@MethodSource("resource")
8483
void resourceCreateRelative(Resource resource) throws Exception {
8584
Resource relative1 = resource.createRelative("ClassPathResourceTests.class");
@@ -91,7 +90,7 @@ void resourceCreateRelative(Resource resource) throws Exception {
9190
assertThat(relative1.lastModified()).isGreaterThan(0);
9291
}
9392

94-
@ParameterizedTest(name = "{index}: {0}")
93+
@ParameterizedTest
9594
@MethodSource("resource")
9695
void resourceCreateRelativeWithFolder(Resource resource) throws Exception {
9796
Resource relative2 = resource.createRelative("support/PathMatchingResourcePatternResolverTests.class");
@@ -103,7 +102,7 @@ void resourceCreateRelativeWithFolder(Resource resource) throws Exception {
103102
assertThat(relative2.lastModified()).isGreaterThan(0);
104103
}
105104

106-
@ParameterizedTest(name = "{index}: {0}")
105+
@ParameterizedTest
107106
@MethodSource("resource")
108107
void resourceCreateRelativeWithDotPath(Resource resource) throws Exception {
109108
Resource relative3 = resource.createRelative("../CollectionFactoryTests.class");
@@ -115,7 +114,7 @@ void resourceCreateRelativeWithDotPath(Resource resource) throws Exception {
115114
assertThat(relative3.lastModified()).isGreaterThan(0);
116115
}
117116

118-
@ParameterizedTest(name = "{index}: {0}")
117+
@ParameterizedTest
119118
@MethodSource("resource")
120119
void resourceCreateRelativeUnknown(Resource resource) throws Exception {
121120
Resource relative4 = resource.createRelative("X.class");
@@ -133,13 +132,13 @@ private static Stream<Arguments> resource() throws URISyntaxException {
133132
URL resourceClass = ResourceTests.class.getResource("ResourceTests.class");
134133
Path resourceClassFilePath = Paths.get(resourceClass.toURI());
135134
return Stream.of(
136-
arguments(named("ClassPathResource", new ClassPathResource("org/springframework/core/io/ResourceTests.class"))),
137-
arguments(named("ClassPathResource with ClassLoader", new ClassPathResource("org/springframework/core/io/ResourceTests.class", ResourceTests.class.getClassLoader()))),
138-
arguments(named("ClassPathResource with Class", new ClassPathResource("ResourceTests.class", ResourceTests.class))),
139-
arguments(named("FileSystemResource", new FileSystemResource(resourceClass.getFile()))),
140-
arguments(named("FileSystemResource with File", new FileSystemResource(new File(resourceClass.getFile())))),
141-
arguments(named("FileSystemResource with File path", new FileSystemResource(resourceClassFilePath))),
142-
arguments(named("UrlResource", new UrlResource(resourceClass)))
135+
argumentSet("ClassPathResource", new ClassPathResource("org/springframework/core/io/ResourceTests.class")),
136+
argumentSet("ClassPathResource with ClassLoader", new ClassPathResource("org/springframework/core/io/ResourceTests.class", ResourceTests.class.getClassLoader())),
137+
argumentSet("ClassPathResource with Class", new ClassPathResource("ResourceTests.class", ResourceTests.class)),
138+
argumentSet("FileSystemResource", new FileSystemResource(resourceClass.getFile())),
139+
argumentSet("FileSystemResource with File", new FileSystemResource(new File(resourceClass.getFile()))),
140+
argumentSet("FileSystemResource with File path", new FileSystemResource(resourceClassFilePath)),
141+
argumentSet("UrlResource", new UrlResource(resourceClass))
143142
);
144143
}
145144

spring-core/src/test/java/org/springframework/util/MultiValueMapTests.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2023 the original author or authors.
2+
* Copyright 2002-2024 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -32,8 +32,7 @@
3232

3333
import static org.assertj.core.api.Assertions.assertThat;
3434
import static org.assertj.core.api.SoftAssertions.assertSoftly;
35-
import static org.junit.jupiter.api.Named.named;
36-
import static org.junit.jupiter.params.provider.Arguments.arguments;
35+
import static org.junit.jupiter.params.provider.Arguments.argumentSet;
3736

3837
/**
3938
* Tests for {@link MultiValueMap}.
@@ -184,18 +183,18 @@ private static MultiValueMap<String, String> exampleMultiValueMap() {
184183

185184

186185
@Retention(RetentionPolicy.RUNTIME)
187-
@ParameterizedTest(name = "[{index}] {0}")
186+
@ParameterizedTest
188187
@MethodSource("mapsUnderTest")
189188
@interface ParameterizedMultiValueMapTest {
190189
}
191190

192191
static Stream<Arguments> mapsUnderTest() {
193192
return Stream.of(
194-
arguments(named("new LinkedMultiValueMap<>()", new LinkedMultiValueMap<>())),
195-
arguments(named("new LinkedMultiValueMap<>(new HashMap<>())", new LinkedMultiValueMap<>(new HashMap<>()))),
196-
arguments(named("new LinkedMultiValueMap<>(new LinkedHashMap<>())", new LinkedMultiValueMap<>(new LinkedHashMap<>()))),
197-
arguments(named("new LinkedMultiValueMap<>(Map.of(...))", new LinkedMultiValueMap<>(Map.of("existingkey", List.of("existingvalue1", "existingvalue2"))))),
198-
arguments(named("CollectionUtils.toMultiValueMap", CollectionUtils.toMultiValueMap(new HashMap<>())))
193+
argumentSet("new LinkedMultiValueMap<>()", new LinkedMultiValueMap<>()),
194+
argumentSet("new LinkedMultiValueMap<>(new HashMap<>())", new LinkedMultiValueMap<>(new HashMap<>())),
195+
argumentSet("new LinkedMultiValueMap<>(new LinkedHashMap<>())", new LinkedMultiValueMap<>(new LinkedHashMap<>())),
196+
argumentSet("new LinkedMultiValueMap<>(Map.of(...))", new LinkedMultiValueMap<>(Map.of("existingkey", List.of("existingvalue1", "existingvalue2")))),
197+
argumentSet("CollectionUtils.toMultiValueMap", CollectionUtils.toMultiValueMap(new HashMap<>()))
199198
);
200199
}
201200

spring-core/src/testFixtures/java/org/springframework/core/testfixture/io/buffer/AbstractDataBufferAllocatingTests.java

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@
5353

5454
import static java.nio.charset.StandardCharsets.UTF_8;
5555
import static org.assertj.core.api.Assertions.assertThat;
56-
import static org.junit.jupiter.api.Named.named;
57-
import static org.junit.jupiter.params.provider.Arguments.arguments;
56+
import static org.junit.jupiter.params.provider.Arguments.argumentSet;
5857

5958
/**
6059
* Base class for tests that read or write data buffers with an extension to check
@@ -197,36 +196,36 @@ static void closeAllocators() {
197196

198197
@Retention(RetentionPolicy.RUNTIME)
199198
@Target(ElementType.METHOD)
200-
@ParameterizedTest(name = "[{index}] {0}")
199+
@ParameterizedTest
201200
@MethodSource("org.springframework.core.testfixture.io.buffer.AbstractDataBufferAllocatingTests#dataBufferFactories()")
202201
public @interface ParameterizedDataBufferAllocatingTest {
203202
}
204203

205204
public static Stream<Arguments> dataBufferFactories() {
206205
return Stream.of(
207206
// Netty 4
208-
arguments(named("NettyDataBufferFactory - UnpooledByteBufAllocator - preferDirect = true",
209-
new NettyDataBufferFactory(netty4OffHeapUnpooled))),
210-
arguments(named("NettyDataBufferFactory - UnpooledByteBufAllocator - preferDirect = false",
211-
new NettyDataBufferFactory(netty4OnHeapUnpooled))),
212-
arguments(named("NettyDataBufferFactory - PooledByteBufAllocator - preferDirect = true",
213-
new NettyDataBufferFactory(netty4OffHeapPooled))),
214-
arguments(named("NettyDataBufferFactory - PooledByteBufAllocator - preferDirect = false",
215-
new NettyDataBufferFactory(netty4OnHeapPooled))),
207+
argumentSet("NettyDataBufferFactory - UnpooledByteBufAllocator - preferDirect = true",
208+
new NettyDataBufferFactory(netty4OffHeapUnpooled)),
209+
argumentSet("NettyDataBufferFactory - UnpooledByteBufAllocator - preferDirect = false",
210+
new NettyDataBufferFactory(netty4OnHeapUnpooled)),
211+
argumentSet("NettyDataBufferFactory - PooledByteBufAllocator - preferDirect = true",
212+
new NettyDataBufferFactory(netty4OffHeapPooled)),
213+
argumentSet("NettyDataBufferFactory - PooledByteBufAllocator - preferDirect = false",
214+
new NettyDataBufferFactory(netty4OnHeapPooled)),
216215
// Netty 5
217-
arguments(named("Netty5DataBufferFactory - BufferAllocator.onHeapUnpooled()",
218-
new Netty5DataBufferFactory(netty5OnHeapUnpooled))),
219-
arguments(named("Netty5DataBufferFactory - BufferAllocator.offHeapUnpooled()",
220-
new Netty5DataBufferFactory(netty5OffHeapUnpooled))),
221-
arguments(named("Netty5DataBufferFactory - BufferAllocator.onHeapPooled()",
222-
new Netty5DataBufferFactory(netty5OnHeapPooled))),
223-
arguments(named("Netty5DataBufferFactory - BufferAllocator.offHeapPooled()",
224-
new Netty5DataBufferFactory(netty5OffHeapPooled))),
216+
argumentSet("Netty5DataBufferFactory - BufferAllocator.onHeapUnpooled()",
217+
new Netty5DataBufferFactory(netty5OnHeapUnpooled)),
218+
argumentSet("Netty5DataBufferFactory - BufferAllocator.offHeapUnpooled()",
219+
new Netty5DataBufferFactory(netty5OffHeapUnpooled)),
220+
argumentSet("Netty5DataBufferFactory - BufferAllocator.onHeapPooled()",
221+
new Netty5DataBufferFactory(netty5OnHeapPooled)),
222+
argumentSet("Netty5DataBufferFactory - BufferAllocator.offHeapPooled()",
223+
new Netty5DataBufferFactory(netty5OffHeapPooled)),
225224
// Default
226-
arguments(named("DefaultDataBufferFactory - preferDirect = true",
227-
new DefaultDataBufferFactory(true))),
228-
arguments(named("DefaultDataBufferFactory - preferDirect = false",
229-
new DefaultDataBufferFactory(false)))
225+
argumentSet("DefaultDataBufferFactory - preferDirect = true",
226+
new DefaultDataBufferFactory(true)),
227+
argumentSet("DefaultDataBufferFactory - preferDirect = false",
228+
new DefaultDataBufferFactory(false))
230229
);
231230
}
232231

spring-expression/src/test/java/org/springframework/expression/spel/SpelCompilationCoverageTests.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,7 @@
6868
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
6969
import static org.assertj.core.api.Assertions.within;
7070
import static org.assertj.core.api.InstanceOfAssertFactories.BOOLEAN;
71-
import static org.junit.jupiter.api.Named.named;
72-
import static org.junit.jupiter.params.provider.Arguments.arguments;
71+
import static org.junit.jupiter.params.provider.Arguments.argumentSet;
7372
import static org.springframework.expression.spel.SpelMessage.EXCEPTION_DURING_INDEX_READ;
7473
import static org.springframework.expression.spel.standard.SpelExpressionTestUtils.assertIsCompiled;
7574

@@ -955,7 +954,7 @@ void indexWithReferenceIndexTypeAndPrimitiveValueType() {
955954
assertThat(getAst().getExitDescriptor()).isEqualTo(exitTypeDescriptor);
956955
}
957956

958-
@ParameterizedTest(name = "{0}")
957+
@ParameterizedTest
959958
@MethodSource("fruitMapIndexAccessors")
960959
void indexWithReferenceIndexTypeAndReferenceValueType(IndexAccessor indexAccessor) {
961960
String exitTypeDescriptor = CodeFlow.toDescriptor(String.class);
@@ -1010,10 +1009,10 @@ void indexWithReferenceIndexTypeAndReferenceValueType(IndexAccessor indexAccesso
10101009

10111010
static Stream<Arguments> fruitMapIndexAccessors() {
10121011
return Stream.of(
1013-
arguments(named("FruitMapIndexAccessor",
1014-
new FruitMapIndexAccessor())),
1015-
arguments(named("ReflectiveIndexAccessor",
1016-
new ReflectiveIndexAccessor(FruitMap.class, Color.class, "getFruit", "setFruit")))
1012+
argumentSet("FruitMapIndexAccessor",
1013+
new FruitMapIndexAccessor()),
1014+
argumentSet("ReflectiveIndexAccessor",
1015+
new ReflectiveIndexAccessor(FruitMap.class, Color.class, "getFruit", "setFruit"))
10171016
);
10181017
}
10191018
}

spring-jdbc/src/test/java/org/springframework/jdbc/core/StatementCreatorUtilsTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,14 +218,14 @@ void testSetParameterValueWithCalendarAndUnknownType() throws SQLException {
218218
verify(preparedStatement).setTimestamp(1, new java.sql.Timestamp(cal.getTime().getTime()), cal);
219219
}
220220

221-
@ParameterizedTest
221+
@ParameterizedTest(name = "{0} -> {1}")
222222
@MethodSource("javaTimeTypes")
223223
public void testSetParameterValueWithJavaTimeTypes(Object o, int sqlType) throws SQLException {
224224
StatementCreatorUtils.setParameterValue(preparedStatement, 1, sqlType, o);
225225
verify(preparedStatement).setObject(1, o, sqlType);
226226
}
227227

228-
@ParameterizedTest
228+
@ParameterizedTest(name = "{0} -> {1}")
229229
@MethodSource("javaTimeTypes")
230230
void javaTimeTypesToSqlParameterType(Object o, int expectedSqlType) {
231231
assertThat(StatementCreatorUtils.javaTypeToSqlParameterType(o.getClass()))

spring-jms/src/test/java/org/springframework/jms/listener/MessageListenerContainerObservationTests.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import jakarta.jms.TextMessage;
2929
import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
3030
import org.apache.activemq.artemis.junit.EmbeddedActiveMQExtension;
31-
import org.assertj.core.api.Assertions;
3231
import org.junit.jupiter.api.AfterEach;
3332
import org.junit.jupiter.api.BeforeEach;
3433
import org.junit.jupiter.api.extension.RegisterExtension;
@@ -40,8 +39,7 @@
4039

4140
import static io.micrometer.observation.tck.TestObservationRegistryAssert.assertThat;
4241
import static org.assertj.core.api.Assertions.assertThat;
43-
import static org.junit.jupiter.api.Named.named;
44-
import static org.junit.jupiter.params.provider.Arguments.arguments;
42+
import static org.junit.jupiter.params.provider.Arguments.argumentSet;
4543

4644
/**
4745
* Observation tests for {@link AbstractMessageListenerContainer} implementations.
@@ -63,7 +61,7 @@ void setupServer() {
6361
connectionFactory = new ActiveMQConnectionFactory(server.getVmURL());
6462
}
6563

66-
@ParameterizedTest(name = "[{index}] {0}")
64+
@ParameterizedTest
6765
@MethodSource("listenerContainers")
6866
void shouldRecordJmsProcessObservations(AbstractMessageListenerContainer listenerContainer) throws Exception {
6967
CountDownLatch latch = new CountDownLatch(1);
@@ -84,14 +82,13 @@ void shouldRecordJmsProcessObservations(AbstractMessageListenerContainer listene
8482
listenerContainer.shutdown();
8583
}
8684

87-
@ParameterizedTest(name = "[{index}] {0}")
85+
@ParameterizedTest
8886
@MethodSource("listenerContainers")
8987
void shouldRecordJmsPublishObservations(AbstractMessageListenerContainer listenerContainer) throws Exception {
90-
CountDownLatch latch = new CountDownLatch(1);
9188
listenerContainer.setConnectionFactory(connectionFactory);
9289
listenerContainer.setObservationRegistry(registry);
9390
listenerContainer.setDestinationName("spring.test.observation");
94-
listenerContainer.setMessageListener((SessionAwareMessageListener) (message, session) -> {
91+
listenerContainer.setMessageListener((SessionAwareMessageListener<?>) (message, session) -> {
9592
Message response = session.createTextMessage("test response");
9693
session.createProducer(message.getJMSReplyTo()).send(response);
9794
});
@@ -106,12 +103,12 @@ void shouldRecordJmsPublishObservations(AbstractMessageListenerContainer listene
106103
// response sent to the template
107104
assertThat(registry).hasNumberOfObservationsWithNameEqualTo("jms.message.publish", 1);
108105

109-
Assertions.assertThat(response.getText()).isEqualTo("test response");
106+
assertThat(response.getText()).isEqualTo("test response");
110107
listenerContainer.stop();
111108
listenerContainer.shutdown();
112109
}
113110

114-
@ParameterizedTest(name = "[{index}] {0}")
111+
@ParameterizedTest
115112
@MethodSource("listenerContainers")
116113
void shouldHaveObservationScopeInErrorHandler(AbstractMessageListenerContainer listenerContainer) throws Exception {
117114
CountDownLatch latch = new CountDownLatch(1);
@@ -143,8 +140,8 @@ void shouldHaveObservationScopeInErrorHandler(AbstractMessageListenerContainer l
143140

144141
static Stream<Arguments> listenerContainers() {
145142
return Stream.of(
146-
arguments(named(DefaultMessageListenerContainer.class.getSimpleName(), new DefaultMessageListenerContainer())),
147-
arguments(named(SimpleMessageListenerContainer.class.getSimpleName(), new SimpleMessageListenerContainer()))
143+
argumentSet(DefaultMessageListenerContainer.class.getSimpleName(), new DefaultMessageListenerContainer()),
144+
argumentSet(SimpleMessageListenerContainer.class.getSimpleName(), new SimpleMessageListenerContainer())
148145
);
149146
}
150147

spring-test/src/test/java/org/springframework/test/context/BootstrapUtilsTests.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@
4040

4141
import static org.assertj.core.api.Assertions.assertThat;
4242
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
43-
import static org.junit.jupiter.api.Named.named;
44-
import static org.junit.jupiter.params.provider.Arguments.arguments;
43+
import static org.junit.jupiter.params.provider.Arguments.argumentSet;
4544
import static org.mockito.Mockito.mock;
4645
import static org.springframework.test.context.BootstrapUtils.resolveTestContextBootstrapper;
4746
import static org.springframework.test.context.NestedTestConfiguration.EnclosingConfiguration.INHERIT;
@@ -105,7 +104,7 @@ void resolveTestContextBootstrapperWithDuplicatingMetaBootstrapWithAnnotations()
105104
/**
106105
* @since 5.3
107106
*/
108-
@ParameterizedTest(name = "[{index}] {0}")
107+
@ParameterizedTest
109108
@MethodSource
110109
void resolveTestContextBootstrapperInEnclosingClassHierarchy(Class<?> testClass, Class<?> expectedBootstrapper) {
111110
assertBootstrapper(testClass, expectedBootstrapper);
@@ -130,7 +129,7 @@ static Stream<Arguments> resolveTestContextBootstrapperInEnclosingClassHierarchy
130129
}
131130

132131
private static Arguments args(Class<?> testClass, Class<? extends TestContextBootstrapper> expectedBootstrapper) {
133-
return arguments(named(testClass.getSimpleName(), testClass), expectedBootstrapper);
132+
return argumentSet(testClass.getSimpleName(), testClass, expectedBootstrapper);
134133
}
135134

136135
/**

spring-test/src/test/java/org/springframework/test/context/bean/override/mockito/MockitoBeanSettingsStrictIntegrationTests.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,11 @@
1818

1919
import java.time.format.DateTimeFormatter;
2020
import java.util.List;
21-
import java.util.stream.Stream;
2221

23-
import org.junit.jupiter.api.Named;
2422
import org.junit.jupiter.api.Test;
2523
import org.junit.jupiter.params.ParameterizedTest;
26-
import org.junit.jupiter.params.provider.MethodSource;
24+
import org.junit.jupiter.params.provider.Arguments;
25+
import org.junit.jupiter.params.provider.FieldSource;
2726
import org.junit.platform.testkit.engine.EngineTestKit;
2827
import org.junit.platform.testkit.engine.Events;
2928
import org.mockito.Mockito;
@@ -33,6 +32,7 @@
3332
import org.springframework.test.context.bean.override.mockito.MockitoBeanForByNameLookupIntegrationTests.Config;
3433
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
3534

35+
import static org.junit.jupiter.params.provider.Arguments.argumentSet;
3636
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
3737
import static org.junit.platform.testkit.engine.EventConditions.event;
3838
import static org.junit.platform.testkit.engine.EventConditions.finishedWithFailure;
@@ -50,7 +50,7 @@
5050
class MockitoBeanSettingsStrictIntegrationTests {
5151

5252
@ParameterizedTest
53-
@MethodSource("strictCases")
53+
@FieldSource("strictCases")
5454
void unusedStubbingIsReported(Class<?> forCase) {
5555
Events events = EngineTestKit.engine("junit-jupiter")
5656
.selectors(selectClass(forCase))
@@ -65,12 +65,10 @@ void unusedStubbingIsReported(Class<?> forCase) {
6565
message(msg -> msg.contains("Unnecessary stubbings detected.")))));
6666
}
6767

68-
private static Stream<Named<Class<?>>> strictCases() {
69-
return Stream.of(
70-
Named.of("explicit strictness", ExplicitStrictness.class),
71-
Named.of("implicit strictness with @MockitoBean on field", ImplicitStrictnessWithMockitoBean.class)
68+
static final List<Arguments> strictCases = List.of(
69+
argumentSet("explicit strictness", ExplicitStrictness.class),
70+
argumentSet("implicit strictness with @MockitoBean on field", ImplicitStrictnessWithMockitoBean.class)
7271
);
73-
}
7472

7573
abstract static class BaseCase {
7674

0 commit comments

Comments
 (0)