Я нашел подходящее решение этой проблемы. Используя встроенный Tomcat (7.0.11), я смог программно развернуть свой веб-сервис во время выполнения модульного теста.
tomcat = new Tomcat();
tomcat.setBaseDir(".");
tomcat.setPort(8084);
tomcat.addWebapp("/", System.getProperty("user.dir") + "/build/web");
tomcat.setHostname("localhost");
tomcat.enableNaming();
tomcat.start();
Этот подход мне подходит, так как я хотел автоматизировать тестирование клиента веб-сервиса. Как отмечал Пиюш , soapUI - это идеальный способ проведения интеграционного тестирования.
Редактировать
Если вы используете context.xml
, вам нужно определить его следующим образом:
Context ctx = tomcat.addWebapp("/", System.getProperty("user.dir") + "/build/web");
File contextFile = new File("META-INF/context.xml");
ctx.setConfigFile(contextFile);