Remove proxyTargetAware attribute from @MockitoSpyBean
This commit removes the proxyTargetAware attribute from @MockitoSpyBean while keeping the underlying feature in tact (i.e., transparent verification for spies created via @MockitoSpyBean). Closes gh-33775
This commit is contained in:
@@ -34,50 +34,45 @@ class MockitoBeanContextCustomizerEqualityTests {
|
||||
|
||||
@Test
|
||||
void contextCustomizerWithSameMockByNameInDifferentClassIsEqual() {
|
||||
assertThat(createContextCustomizer(Case1ByName.class)).isEqualTo(createContextCustomizer(Case2ByName.class));
|
||||
assertThat(customizerFor(Case1ByName.class)).isEqualTo(customizerFor(Case2ByName.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void contextCustomizerWithSameMockByTypeInDifferentClassIsEqual() {
|
||||
assertThat(createContextCustomizer(Case1ByType.class)).isEqualTo(createContextCustomizer(Case2ByTypeSameFieldName.class));
|
||||
assertThat(customizerFor(Case1ByType.class)).isEqualTo(customizerFor(Case2ByTypeSameFieldName.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void contextCustomizerWithSameMockByTypeAndDifferentFieldNamesAreNotEqual() {
|
||||
assertThat(createContextCustomizer(Case1ByType.class)).isNotEqualTo(createContextCustomizer(Case2ByType.class));
|
||||
assertThat(customizerFor(Case1ByType.class)).isNotEqualTo(customizerFor(Case2ByType.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void contextCustomizerWithSameSpyByNameInDifferentClassIsEqual() {
|
||||
assertThat(createContextCustomizer(Case4ByName.class)).isEqualTo(createContextCustomizer(Case5ByName.class));
|
||||
assertThat(customizerFor(Case4ByName.class)).isEqualTo(customizerFor(Case5ByName.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void contextCustomizerWithSameSpyByTypeInDifferentClassIsEqual() {
|
||||
assertThat(createContextCustomizer(Case4ByType.class)).isEqualTo(createContextCustomizer(Case5ByTypeSameFieldName.class));
|
||||
assertThat(customizerFor(Case4ByType.class)).isEqualTo(customizerFor(Case5ByTypeSameFieldName.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void contextCustomizerWithSameSpyByTypeAndDifferentFieldNamesAreNotEqual() {
|
||||
assertThat(createContextCustomizer(Case4ByType.class)).isNotEqualTo(createContextCustomizer(Case5ByType.class));
|
||||
assertThat(customizerFor(Case4ByType.class)).isNotEqualTo(customizerFor(Case5ByType.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void contextCustomizerWithSimilarMockButDifferentAnswersIsNotEqual() {
|
||||
assertThat(createContextCustomizer(Case1ByType.class)).isNotEqualTo(createContextCustomizer(Case3.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void contextCustomizerWithSimilarSpyButDifferentProxyTargetClassFlagIsNotEqual() {
|
||||
assertThat(createContextCustomizer(Case5ByType.class)).isNotEqualTo(createContextCustomizer(Case6.class));
|
||||
assertThat(customizerFor(Case1ByType.class)).isNotEqualTo(customizerFor(Case3.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void contextCustomizerWithMockAndSpyAreNotEqual() {
|
||||
assertThat(createContextCustomizer(Case1ByType.class)).isNotEqualTo(createContextCustomizer(Case4ByType.class));
|
||||
assertThat(customizerFor(Case1ByType.class)).isNotEqualTo(customizerFor(Case4ByType.class));
|
||||
}
|
||||
|
||||
private ContextCustomizer createContextCustomizer(Class<?> testClass) {
|
||||
private ContextCustomizer customizerFor(Class<?> testClass) {
|
||||
ContextCustomizer customizer = BeanOverrideContextCustomizerTestUtils.createContextCustomizer(testClass);
|
||||
assertThat(customizer).isNotNull();
|
||||
return customizer;
|
||||
@@ -160,11 +155,4 @@ class MockitoBeanContextCustomizerEqualityTests {
|
||||
|
||||
}
|
||||
|
||||
static class Case6 {
|
||||
|
||||
@MockitoSpyBean(proxyTargetAware = false)
|
||||
private String serviceToMock;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -49,63 +49,46 @@ class MockitoSpyBeanOverrideHandlerTests {
|
||||
|
||||
@Test
|
||||
void isEqualToWithSameInstance() {
|
||||
MockitoSpyBeanOverrideHandler handler = createBeanOverrideHandler(sampleField("service"));
|
||||
MockitoSpyBeanOverrideHandler handler = handlerFor("service");
|
||||
assertThat(handler).isEqualTo(handler);
|
||||
assertThat(handler).hasSameHashCodeAs(handler);
|
||||
}
|
||||
|
||||
@Test
|
||||
void isEqualToWithSameMetadata() {
|
||||
MockitoSpyBeanOverrideHandler handler1 = createBeanOverrideHandler(sampleField("service"));
|
||||
MockitoSpyBeanOverrideHandler handler2 = createBeanOverrideHandler(sampleField("service"));
|
||||
MockitoSpyBeanOverrideHandler handler1 = handlerFor("service");
|
||||
MockitoSpyBeanOverrideHandler handler2 = handlerFor("service");
|
||||
assertThat(handler1).isEqualTo(handler2);
|
||||
assertThat(handler1).hasSameHashCodeAs(handler2);
|
||||
}
|
||||
|
||||
@Test
|
||||
void isNotEqualToByTypeLookupWithSameMetadataButDifferentField() {
|
||||
MockitoSpyBeanOverrideHandler handler1 = createBeanOverrideHandler(sampleField("service"));
|
||||
MockitoSpyBeanOverrideHandler handler2 = createBeanOverrideHandler(sampleField("service2"));
|
||||
assertThat(handler1).isNotEqualTo(handler2);
|
||||
assertThat(handlerFor("service")).isNotEqualTo(handlerFor("service2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void isEqualToByNameLookupWithSameMetadataButDifferentField() {
|
||||
MockitoSpyBeanOverrideHandler handler1 = createBeanOverrideHandler(sampleField("service3"));
|
||||
MockitoSpyBeanOverrideHandler handler2 = createBeanOverrideHandler(sampleField("service4"));
|
||||
MockitoSpyBeanOverrideHandler handler1 = handlerFor("service3");
|
||||
MockitoSpyBeanOverrideHandler handler2 = handlerFor("service4");
|
||||
assertThat(handler1).isEqualTo(handler2);
|
||||
assertThat(handler1).hasSameHashCodeAs(handler2);
|
||||
}
|
||||
|
||||
@Test
|
||||
void isNotEqualToWithSameMetadataButDifferentBeanName() {
|
||||
MockitoSpyBeanOverrideHandler handler1 = createBeanOverrideHandler(sampleField("service"));
|
||||
MockitoSpyBeanOverrideHandler handler2 = createBeanOverrideHandler(sampleField("service3"));
|
||||
assertThat(handler1).isNotEqualTo(handler2);
|
||||
assertThat(handlerFor("service")).isNotEqualTo(handlerFor("service3"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void isNotEqualToWithSameMetadataButDifferentReset() {
|
||||
MockitoSpyBeanOverrideHandler handler1 = createBeanOverrideHandler(sampleField("service"));
|
||||
MockitoSpyBeanOverrideHandler handler2 = createBeanOverrideHandler(sampleField("service5"));
|
||||
assertThat(handler1).isNotEqualTo(handler2);
|
||||
}
|
||||
|
||||
@Test
|
||||
void isNotEqualToWithSameMetadataButDifferentProxyTargetAwareFlag() {
|
||||
MockitoSpyBeanOverrideHandler handler1 = createBeanOverrideHandler(sampleField("service"));
|
||||
MockitoSpyBeanOverrideHandler handler2 = createBeanOverrideHandler(sampleField("service6"));
|
||||
assertThat(handler1).isNotEqualTo(handler2);
|
||||
assertThat(handlerFor("service")).isNotEqualTo(handlerFor("service5"));
|
||||
}
|
||||
|
||||
|
||||
private Field sampleField(String fieldName) {
|
||||
private static MockitoSpyBeanOverrideHandler handlerFor(String fieldName) {
|
||||
Field field = ReflectionUtils.findField(Sample.class, fieldName);
|
||||
assertThat(field).isNotNull();
|
||||
return field;
|
||||
}
|
||||
|
||||
private MockitoSpyBeanOverrideHandler createBeanOverrideHandler(Field field) {
|
||||
MockitoSpyBean annotation = AnnotatedElementUtils.getMergedAnnotation(field, MockitoSpyBean.class);
|
||||
return new MockitoSpyBeanOverrideHandler(field, ResolvableType.forClass(field.getType()), annotation);
|
||||
}
|
||||
@@ -142,9 +125,6 @@ class MockitoSpyBeanOverrideHandlerTests {
|
||||
@MockitoSpyBean(reset = MockReset.BEFORE)
|
||||
private String service5;
|
||||
|
||||
@MockitoSpyBean(proxyTargetAware = false)
|
||||
private String service6;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user