Я пытаюсь написать тестовый пример для класса java. Я издевался над методом, использующим Mockito, но макет никогда не используется. Зачем?Метод mocked никогда не набирается
Ниже представлена структура моего класса Java:
class A {
@Autowired
private ClassB classB;
publiv void methodOne() {
methodTwo();
}
private void methodTwo() {
...
int returnedValue = classB.someMethod();
...
}
}
Класс тест приведен ниже:
class ATest {
@Mock
private ClassB classB;
@InjectMocks
@Autowired
ClassA classA;
@Before
public void setupTest() {
MockitoAnnotations.initMocks(this);
}
@Test(expected = SomeException.class)
public void testMethodOne() {
when(classB.someMethod()).thenReturn(29);
classA.methodOne();
}
}
Класс тест продолжается от другого, который имеет @RunWith(SpringJUnit4ClassRunner.class)
аннотацию.
Я рассмотрел существующие вопросы, но не смог найти ответ. Если есть какие-либо вопросы/ответы, которые могут мне помочь, укажите мне то же самое.
Заранее благодарен!
Не пробовал, но разве класс Test не требует аннотации @RunWith? (например, @RunWith (MockitoJUnitRunner.class)) – hammerfest
Класс тестирования распространяется на другой, который содержит аннотацию RunWith. – user657592
wait, вам нужно либо '@ Runwith', либо руководство' MockitoAnnotations.initMocks (this); ', но никогда не оба! И кстати, как вы знаете, что метод макета никогда не называется? –