Esta inquietud se puede tratar de variadas maneras, pero en este caso te dejamos la que para nosotros es la resolución más completa.
Solución:
No te estás burlando de nada en tu código. @InjectMocks establece una clase donde se inyectará un simulacro.
Su código debería verse así
public class PersonServiceTest {
@InjectMocks
PersonService personService;
@Mock
MockedClass myMock;
@Before
public void setUp() throws Exception
MockitoAnnotations.initMocks(this);
Mockito.doReturn("Whatever you want returned").when(myMock).mockMethod;
@Test()
public void testPerson()
assertThat(personService.method, "what you expect");
Otra solución es usar @ContextConfiguration
anotación con static clase de configuración interna así:
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
public class PersonServiceTest
@Autowired
PersonService personService;
@Before
public void setUp() throws Exception
when(personService.mockedMethod()).thenReturn("something to return");
@Test
public void testPerson()
assertThat(personService.method(), "what you expect");
@Configuration
static class ContextConfiguration
@Bean
public PersonService personService()
return mock(PersonService.class);
De todos modos, debe burlarse de algo que el método que desea probar usa dentro para obtener el comportamiento deseado de ese método. No tiene sentido burlarse del servicio que está probando.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)