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…')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

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());
   }

}

Ver También