2013-08-22 1 views
0

У меня есть веб-приложение Java, построенное с использованием сервлета и страниц JSP. Я написал некоторые интеграционные тесты с использованием JWebUnit (http://jwebunit.sourceforge.net).Тестирование формы электронной почты с помощью JWebUnit без отправки по электронной почте

У меня есть метод испытания, как это:

@Test 
public void testContact() { 
beginAt("contact"); 
assertResponseCode(200); 

assertFormPresent("form_contact"); 
assertElementPresent("page_contact_form_uitleg"); 
assertTextInElement("page_contact_form_uitleg", getMessage("pagina.contact.uitleg")); 

assertFormElementPresent("form_naam"); 
assertFormElementPresent("form_email"); 
assertFormElementPresent("form_boodschap"); 

setTextField("form_email", "[email protected]"); 
setTextField("form_wachtwoord", "Joel1234!"); 
} 

Однако, когда я отправить форму в методе испытаний электронной почты отправляемое. Есть ли способ проверить эти функции электронной почты, как в Rails? В Rails, когда вы находитесь в тестовой среде, приложение не отправляет настоящие электронные письма. Вместо этого они добавляют эти письма в какую-то тестовую очередь, где вы можете проверить, было ли отправлено электронное письмо.

Могу ли я использовать что-то подобное в веб-приложении Java?

ответ

0

В JSP/Servlets нет ничего, что позволит автоматически это сделать; Rails - это структура, а JSP/Servlets - более низкоуровневая. Но у вашего приложения, предположительно, есть несколько свойств среды, хранящихся в текстовом файле или базе данных; если вы создаете логическое значение типа suppressMailSend, а затем используйте этот логический элемент, чтобы определить, действительно ли ваш почтовый код отправляет почту (и, возможно, записывает сообщение в журналы приложений, если нет), что бы это сделать. (Полезная вещь также может заключаться в том, чтобы условно отправлять эти письма не их предполагаемому получателю, а самому себе - с «реальным» получателем addr, добавленным к строке темы, чтобы вы знали, кому почта будет отправляться на производство, - полезно если вы хотите посмотреть, как выглядят отправленные письма.)

0

Post Hoc - это приложение Java/JSP, которое действует как SMTP-сервер и получит электронные письма из вашего приложения и сохранит их в списке с пользователем интерфейс, который позволяет вам проверять электронные письма. Он прост в установке и очень мал. Свободно доступный, с открытым исходным кодом.

Гит хаб: Git Hub Site

Также см сообщение в блоге: PostHoc: Testing Apps that Send Email