2016-08-18 12 views
0

Я использую selenium webdriver с Jbehave для автоматизации тестов с использованием BDD, и у меня есть проблема с проверкой значений. Мне нужно, чтобы мои тесты не прерывались сразу после того, как утверждение не было равно ожидаемому. Вместо этого я хочу, чтобы мой тест проверял каждое значение, а затем, если хотя бы одно утверждение потерпело неудачу, мой шаг должен быть отмечен как сбой.Jbehave selenium - verifyEquals не маркирует этот шаг как неудачный

Я использую verifyEquals, который не завершает тесты после немедленного обнаружения ошибки утверждения, но продолжается.

Моя проблема в том, что если одно или несколько значений не соответствуют друг другу, как ожидается, мой шаг не будет отмечен как сбой, и я должен перейти на консоль, чтобы узнать, имеет ли он какое-то несоответствие значений.

ответ

0

В этом случае вы должны изменить свою тестовую архитектуру. Для любых тестовых платформ, которые также имеют функцию verify, которая не останавливает тест, вы должны прекратить свои тесты с помощью инструкции Assert. Verify используется только для проверки некоторых предварительных условий для тестирования на самом деле. Если взять, например, тест, где вы проверить, что сумма заказа правильно, вы могли бы пойти со следующим:

  1. verify имя правильно
  2. verify электронной почты является правильным
  3. assert сумма заказа правильно
0

Вместо использования verify, лучше Assert s из библиотеки Junit. Вы можете даже настроить, что вы утверждаете, используя блок catch try и решаете, продолжать ли тест, распечатывая ошибку или останавливая тест.