Джакарта Кактус альтернативный? - PullRequest
1 голос
/ 21 марта 2011

Привет, у нас есть проект с множеством компонентов, JSP и т. Д. Существует острая необходимость в проведении автоматических тестов в нашей среде (мы используем Maven).Теперь мы можем легко написать тесты для уровня проекта базы данных, для различных реализованных нами утилит безопасности.Но страницы JSP остаются непроверенными.

Я искал утилиты для тестирования на стороне сервера, и Cactus кажется лучшим вариантом.Однако, согласно их списку изменений, их последний выпуск - 1.8, и он был выпущен более двух лет назад!

Итак, вопрос в том, что случилось с Cactus, он все еще развивается или как?И каковы недавние альтернативы Кактусу Джакарта (если таковой существует)?

Ответы [ 4 ]

4 голосов
/ 30 марта 2011

Я использовал комбинацию Spring, JUnit и HttpClient с некоторым успехом в недавних проектах.

Apache HttpClient предоставляет мощный и гибкий API для построения и отправки http-запросов в ваше приложение. Он не может реплицировать веб-браузер, скажем, с помощью сценариев на стороне клиента, однако, если в итоговых HTTP-ответах достаточно содержимого (заголовки, URI, тело), ​​вы можете использовать эту информацию для просмотра страниц в приложении и проверки поведения. Вы можете публиковать формы, выполнять перенаправления, обрабатывать файлы cookie и вводить данные в свое приложение.

JUnit (junit.org) запускает тесты, вызывая серию страниц с помощью HttpClient и может быть развернута вместе с приложением, работать автономно с ant / maven или запускаться отдельно в вашей среде IDE.

Spring (springsource.org), конечно, не является обязательным, поскольку вы можете не использовать его для своего проекта. Я нашел полезным заглушить / смоделировать части приложения, чтобы я мог изолировать определенные области, такие как внешние контроллеры, от бизнес-логики, подставляя DAO для возврата определенных значений данных. Он предоставляет превосходную инфраструктуру для тестирования и специализированные TestRunners, которые хорошо подходят для таких сред тестирования, как JUnit (или TestNG, если вы предпочитаете).

2 голосов
/ 05 сентября 2014

Cactus служил хорошей средой тестирования на стороне сервера в эпоху ejb2, но больше не поддерживается.

Вы можете использовать комбинацию как Mock-тестирования (мелкозернистого), так и In-Container-тестирования (грубого)стратегия полного тестирования приложения.

Фреймворки Mock-тестирования: Mockito , Jmockit , EasyMock и т. д.

Фреймворки для тестирования интеграции (Java EE): Arquillian , Встраиваемый API и т. Д.

Я предпочитаю Mockito и Arquillian для тестирования на стороне сервера.

2 голосов
/ 28 марта 2011

Как насчет Аркилл ?Я не использовал его, и у него еще нет стабильной версии, но, по крайней мере, он находится в активной разработке.

0 голосов
/ 16 декабря 2013

Возможно, вы захотите попробовать селен.Это с jBehave - хорошая комбинация, которую я нахожу.И чем больше поддерживаются оба этих проекта, тем больше они не перестанут существовать (например, кактусы).

...