Что не так с электронной почтой? - PullRequest
0 голосов
/ 13 марта 2012

Когда я пишу:

When I fill in "To" with "example1@example.com, example2@example.com"
And I press "Send testimonials request"
Then I should see "Testimonial requests have been successfully sent"
And "example1@example.com" should receive an email with subject "Add a testimonial..."
And "example2@example.com" should receive an email with subject "Add a testimonial..."

все отлично работает.

Но если я напишу:

When I fill in "To" with "example1@example.com, example2@example.com"
And I press "Send testimonials request"
Then "example1@example.com" should receive an email with subject "Add a testimonial..."
And "example2@example.com" should receive an email with subject "Add a testimonial..."
And I should see "Testimonial requests have been successfully sent"

Ничего не работает ... Просто одна строка была перенесена в конец и ... бум ..

Может быть, причина в некоторой задержке перед проверкой электронной почты? или что-то в этом роде.

Ответы [ 2 ]

2 голосов
/ 14 марта 2012

Это асинхронное поведение огурца. В первом случае вы ждете, пока действие завершится, ожидая флеш-сообщения Внутренний драйвер огурца «ждет», пока элемент не станет видимым, опрашивая этот элемент с интервалом и защитной задержкой (время ожидания капибары).

А во втором случае вы сразу же проверяете электронную почту. Cucumber ничего не знает о ваших контроллерах / действиях и не синхронизируется с ними.

Вы можете либо оставить первый случай, либо ввести какой-либо опрос в шаге проверки электронной почты.

1 голос
/ 14 марта 2012

Это может быть проблема синхронизации, в зависимости от используемого вами браузера.Мы видели это много, используя Капибару с Селеном.Шаг «Я должен увидеть ...» фактически останавливает тест и ждет для отображения этого сообщения на странице (когда происходит отправка электронного письма).Если вы переместите это в конец, есть вероятность, что шаг «должен получить электронное письмо» просто происходит слишком быстро, делая утверждение до того, как приложение действительно получит возможность отправить электронное письмо.

...