Я никогда не использовал Arquillian, но, похоже, он сосредоточен на тестировании EJB с акцентом на развертывание в работающий контейнер. Если ваше приложение основано на Spring (+ Hibernate), поддержка Spring Test, вероятно, является лучшим выбором.
В тестовом примере вы можете запустить часть контекста вашего приложения (только небольшую часть или почти целое приложение) с имитацией базы данных в памяти. Вам не нужен работающий контейнер, так как Spring в основном самодостаточен. Тестировать действия Struts 1.x сложнее, но, думаю, Аркилиан тоже вам не поможет.
Также, если вас беспокоит стабильность программного обеспечения, Arquillian, похоже, сейчас в альфа-версии. Но я бы определенно дал шанс, что мне придется протестировать приложение на основе EJB. Для приложений Spring с контекстным кэшированием, разграничением транзакций в тестах и т. Д. TestContext Framework - лучший выбор.
Примечание: рассмотрите возможность использования TestNG вместо JUnit, поскольку с TestContext это выглядит намного лучше, например. у вас есть доступ к бинам Spring в методах установки / разрыва (статический в JUnit).