В одном из моих юнит-тестов я пытаюсь проверить, никогда не вызывался один из моих фиктивных методов.И проблема в том, что этот макет является глобальным @beforeClass
макетом, общим для многих других тестов.
Итак, когда я пытаюсь проверить, никогда не вызывается макет или нет, он всегда терпит неудачу, как и другиетесты называют это издевательством.Есть ли способ использовать Mockito для проверки вызова макета только для этого теста?
Одно из решений, которое я могу придумать, - преобразование моего общего макета из @BeforeClass
в @Before
(чтобы перед каждым тестом макетэто воссоздано).Но хотел проверить, есть ли другие решения, не касаясь общих BeforeClass
макетов.
@BeforeClass
public void before() {
someClassMock = mock(someClass.class);
when(someClassMock.aMethodCall(any()).thenReturn(true);
}
// Bunch of tests
@Test
public void oneOfTheManytest(){
//some code where someClassMock.aMethodCall is NOT called
verify(someClassMock, never()).aMethodCall(any());
// ^^ This always fails, even when I am sure this mock
// is not called for this test.
// I think this looks if this mock is called or not overall for this test file.
}
Может кто-нибудь помочь с решением, где я могу проверить вызов метода макета для конкретного теста?