0
у меня есть:Mock метод на классе продлен еще на один класс
public class A extends B {
public ObjectC methodToTest() {
return getSomething();
}
}
/* this class is in other project and compiles in project I want test */
public class B {
public ObjectC getSomething() {
//some stuff calling external WS
}
}
и на тест:
@RunWith(MockitoJUnitRunner.class)
public class ATest {
@Mock
B bMock;
@InjectMocks
A classTotest;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
}
@Test
public void getMethodToTestShouldReturnObjectC() {
Mockito.when(bMock.getSomething()).thenReturn(new ObjectC());
assertEquals(classTotest.methodToTest().getClass, ObjectC.class);
}
}
Но когда я запускаю тест Mockito звонит B (и это не удается, потому что звонков в Ws. ..)
Я прочитал много нового об этом, но я не могу его решить.
¿Как я могу искупить getSomething(), чтобы вернуть ObjectC?
но @InjectMocks не вводит bMock в classToTest? –
@ ZaídaDeIsidroNavarro Нет '@ InjectMocks' на самом деле вводит mocks в поля' A' того же типа, и здесь класс 'A' не имеет поля, поэтому ничего не нужно вводить –
Ок, извините, я пропустил @InjectMocks, все ясно поблагодарить вас обоих! –