Springockito
De Dos Ideas.
Revisión del 18:15 5 mar 2013 de Parivero (discusión | contribuciones) (Página creada con 'Extensión de Spring para simplificar la creación de mocks en los test. Ofrece la posibilidad de realizar la creación de los mocks mediante los xml de Spring o mediante anotac…')
Extensión de Spring para simplificar la creación de mocks en los test. Ofrece la posibilidad de realizar la creación de los mocks mediante los xml de Spring o mediante anotaciones en el mismo test.
Ejemplo con anotaciones
Agregar la siguiente dependencia en el pom.xm del proyecto.
<dependencies>
... <dependency> <groupId>org.kubek2k</groupId> <artifactId>springockito-annotations</artifactId> <version>1.0.8</version> <scope>test</scope> </dependency> ...
</dependencies>
En el atributo “loader” de la anotación “ContextConfiguration” hay que setear la clase “SpringockitoContextLoader” de Springockito, esta clase es la encargada de realizar las sustituciones de las clases reales por los mocks.
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = SpringockitoContextLoader.class,
locations = {"classpath:spring/jenkins-speech-integration-test.xml"})
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) public class VoiceServiceTest {
@Autowired private VoiceService instance; @ReplaceWithMock @Autowired private Audio audio;
@Test public void talk_messageWithPreSound_executePlayMethodTwoTimes() throws Exception { String message = "Hola"; instance.talk(message); verify(audio, times(2)).play((InputStream) any());
}
@Test public void talk_messageWithoutPreSound_executePlayMethodOneTimes() throws Exception { instance.setPreSound(""); String message = "Hola"; instance.talk(message); verify(audio, times(1)).play((InputStream) any()); }
}