Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

...

Bloque de código
languagejava
@TestPropertySource( locations = "classpath:application-test.properties" )
@ContextConfiguration( classes = {MiServivico.class} )
@SpringBootTest
@Import( WebClientTestConfiguration.class )
@TestInstance( TestInstance.Lifecycle.PER_CLASS )
class MiTestConServiciosExternosTest {

   ...
   ...

	@Autowired
	private MiServivico servicio;

	// private static MockServer mock;
	private static MockWebServer mockServer;

	@BeforeAll
	public void iniciaMockServer() {
		//Creamos una instancia de mockServer
		mockServer = new MockWebServer();
		try {
			//Arrancamos mockServer en el puerto que hemos indicado en la configuración
			mockServer.start( WebClientTestConfiguration.PORT );
		} catch ( IOException e ) {
			log.error("Error inicianzo mockserver",e)
		}
	}

	@AfterAll
	static void finalizaMockServer() {
		if ( mockServer != null ) {
			// mockServer.stop();
			try {
				mockServer.shutdown();
			} catch ( IOException e ) {
                log.error("Error deteniendo mockserver",e)
            }
		}
	}

	@Test
	void miTest() throws Exception {
		
		String datosARecibir1 = "json1";
 		String datosARecibir2 = "json2"; 

		//Encolamos las respuestas a recibir
		mockServer.enqueue( new MockResponse().setBody(  datosARecibir1 ).addHeader( "Content-Type", "application/json" ) );
		mockServer.enqueue( new MockResponse().setBody(  datosARecibir2 ).addHeader( "Content-Type", "application/json" ) );

        String salida = servicio.metodoServicioConWebClient();
		assertThat( salida ).isEqualTo( "Respuesta esperada1json1" );
		salida = servicio.metodoServicioConWebClient();
		assertThat( salida ).isEqualTo( "Respuesta esperada2json2" );
    }
 ... 
 ...
}


Del código anterior los detalles importantes son

...