Merge branch '3.0.x'

Closes gh-35330
This commit is contained in:
Andy Wilkinson
2023-05-05 18:22:20 +01:00
2 changed files with 51 additions and 4 deletions

View File

@@ -53,6 +53,7 @@ class ResetMocksTestExecutionListenerTests {
given(getMock("before").greeting()).willReturn("before");
given(getMock("after").greeting()).willReturn("after");
given(getMock("fromFactoryBean").greeting()).willReturn("fromFactoryBean");
assertThat(this.context.getBean(NonSingletonFactoryBean.class).getObjectInvocations).isEqualTo(0);
}
@Test
@@ -61,6 +62,7 @@ class ResetMocksTestExecutionListenerTests {
assertThat(getMock("before").greeting()).isNull();
assertThat(getMock("after").greeting()).isNull();
assertThat(getMock("fromFactoryBean").greeting()).isNull();
assertThat(this.context.getBean(NonSingletonFactoryBean.class).getObjectInvocations).isEqualTo(0);
}
ExampleService getMock(String name) {
@@ -109,6 +111,11 @@ class ResetMocksTestExecutionListenerTests {
return new WorkingFactoryBean();
}
@Bean
NonSingletonFactoryBean nonSingletonFactoryBean() {
return new NonSingletonFactoryBean();
}
}
static class BrokenFactoryBean implements FactoryBean<String> {
@@ -132,9 +139,11 @@ class ResetMocksTestExecutionListenerTests {
static class WorkingFactoryBean implements FactoryBean<ExampleService> {
private final ExampleService service = mock(ExampleService.class, MockReset.before());
@Override
public ExampleService getObject() {
return mock(ExampleService.class, MockReset.before());
return this.service;
}
@Override
@@ -149,4 +158,26 @@ class ResetMocksTestExecutionListenerTests {
}
static class NonSingletonFactoryBean implements FactoryBean<ExampleService> {
private int getObjectInvocations = 0;
@Override
public ExampleService getObject() {
this.getObjectInvocations++;
return mock(ExampleService.class, MockReset.before());
}
@Override
public Class<?> getObjectType() {
return ExampleService.class;
}
@Override
public boolean isSingleton() {
return false;
}
}
}