Модульное тестирование клиента веб-сервиса от NetBeans - PullRequest
1 голос
/ 08 июня 2011

У меня есть проект, который содержит как клиент ws, так и службу (JAX-WS).Есть ли способ развернуть ws во время автоматизированного тестирования, чтобы мои клиентские тесты могли охватывать вызовы службы?

Очевидно, что для этого потребуется развертывание на сервере приложений ... или этотестирование опрометчиво?

Ответы [ 2 ]

2 голосов
/ 14 июня 2011

Я нашел подходящее решение этой проблемы. Используя встроенный 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);
1 голос
/ 08 июня 2011
  • Это хорошая статья о модульном тестировании RESTful-сервиса. Вы также можете использовать REST-гарантированный для тестирования служб REST и проверки ответа с помощью Junit в Java.
  • Для функционального тестирования вы можете использовать SOAPUI .
  • Для служб JAX-WS посмотрите эту статью . Вы также можете проверить способ тестирования JAX-WS Spring здесь . Вы также можете выполнить модульное тестирование от Netbeans, следуя документации, упомянутой здесь

Как вы генерируете свой сервис? Что это за веб-сервисы? Разве ваш сгенерированный сервис не является обычным POJO?

...