У меня странное поведение поля @SpyBean в моих интеграционных тестах. Например, у меня есть несколько интеграционных тестов:
package a;
@SpringBootTest
public class A {
@SpyBean
public MySpyBeanCandidate spyBean;
@Test
public void test1 {
// some work
Mockito.verify(spyBean, Mockito.atLeastOnce()).methodName(eq("String value"), anyString());
}
}
package a;
@SpringBootTest
public class B {
@SpyBean
public MySpyBeanCandidate spyBean;
@Test
public void test2 {
// some work
Mockito.verify(spyBean, Mockito.atLeastOnce()).methodName(eq("String value"), anyString());
}
}
Проблема заключается в том, что, когда я пытаюсь выполнить их отдельно, они выполняются успешно, но если я буду запускать их вместе, во втором тесте Mockito .verify (..) сгенерирует исключение: Wanted but not invoked
. Но я отладил его и проверил, что метод (methodName
) вызывается правильно. Кто знает, почему это происходит?