Cómo especificar la ruta de contexto para la prueba de jersey con un proveedor externo
Quiero que mis pruebas de jersey se ejecuten en una instancia de Tomcat que tiene los servicios de descanso en
http://myhost:port/contexpath/service1/
http://myhost:port/contexpath/service2/
..so on
Tengo dependencias tanto en la memoria como en el contenedor externo
[ group: 'org.glassfish.jersey.test-framework.providers', name: 'jersey-test-framework-provider-inmemory', version: '2.17'],
[group: 'org.glassfish.jersey.test-framework.providers', name: 'jersey-test-framework-provider-external' , version: '2.17'],
Luego, en la prueba, sigo el siguiente método para decidir qué contenedor elegir
@Override
public TestContainerFactory getTestContainerFactory() {
System.setProperty("jersey.test.host", "localhost");
System.setProperty("jersey.config.test.container.port", "8000");
//how to set the context path ??
return new ExternalTestContainerFactory();
}
La prueba en memoria funciona porque los servicios son implementados por el marco en la ruta que conoce (de todos modos no tiene una ruta de contexto) Cuando ejecuto en un contenedor externo intenta conectarsehttp: // myhost: puerto / servicio1 / en lugar dehttp: // myhost: puerto / contextpath / service1 / obteniendo 404 no encontrado
Para ejecutar en un contenedor externo, ¿cómo especifico la ruta de contexto? La documentación especifica solo la propiedad de host y puerto. ¿Hay alguna propiedad para la ruta de contexto?
Estoy usando Jersey 2.17