Diferencia entre revisiones de «Springockito»

De Dos Ideas.
Saltar a: navegación, buscar
(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…')
(Sin diferencias)

Revisión del 18:15 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.

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