У меня есть класс A и класс B. B подключен автоматически в классе A. Теперь я хочу проверить поток, используя mockito.
Таким образом, проблема в том, что когда я пытался смоделировать класс A и B в моем тестовом примере, используя @InjectMock
, он идет в класс A, но не вызывает класс B.
Я не хочу издеваться над классом B, который автоматически подключен в классе A, из A он должен позвонить в класс B и получить данные о пользователе.
@Component
public class A {
@Autowired
private B b;
public Users getUsers() {
Long id = 10;
b.getUserDetails(id);
// some Logic
}
}
@Component
public class B {
public UserDetails getUserDetails(Long id) {
// some logic to get users details ..
}
}
@RunWith(MockitoJUnitRunner.class)
public class TestA {
@InjectMocks
private A a;
@InjectMocks
private B b;
@Test
public void testA() {
Users actual = a.getUsers();
assertEquals(actual, expected());
assertNotNull(actual);
}
private Users expected() {
return new Users(); // expected users object
}
}