Diferencia entre revisiones de «Springockito»
(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…') |
(→Ejemplo con anotaciones) |
||
Línea 1: | Línea 1: | ||
+ | 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. | ||
+ | |||
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. | 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. | ||
Línea 17: | Línea 19: | ||
</code> | </code> | ||
− | En el | + | En el ejemplo se prueba el método "talk" de la clase "VoiceService", el cual debe ejecutar una o dos veces el método "play" de la clase "Audio". Esta ultima es la clase que mockeamos para verificar las ejecuciones de su métodos. |
<code java> | <code java> | ||
Línea 49: | Línea 51: | ||
} | } | ||
} | } | ||
+ | </code> | ||
− | + | 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. | |
==Ver También== | ==Ver También== |
Revisión del 18:31 5 mar 2013
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.
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 ejemplo se prueba el método "talk" de la clase "VoiceService", el cual debe ejecutar una o dos veces el método "play" de la clase "Audio". Esta ultima es la clase que mockeamos para verificar las ejecuciones de su métodos.
@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()); }
}
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.