2016-08-22 2 views
3

Java Spring Cucumber, как я могу продолжить сценарии и не останавливаться при сбое. Когда я запускаю файл Feature, если сбой сценария, все остальные сценарии игнорируются, что не является желаемым поведением. Я не хочу использовать assertionError, я бы хотел запустить сценарий, если он пройдет, я буду регистрировать его как успех, иначе зарегистрируйте его как сбой.java огурец, как продолжить сбой

Пример: нестабильный модуль, который я хочу протестировать, я бы хотел запустить 100 тестов, и если пройдет 99 тестов, это ответит на мои требования. но скажу, что первый сценарий не удался, поэтому 0 из 100 пройдет, что плохо для меня

+0

Вы уверены, что следующее испытание будет надежным? Я имею в виду, когда что-то не сработало. Тогда эта проблема может распространяться на следующих тестах. Если это не так. Тогда вы должны создать отдельные сценарии? http://stackoverflow.com/questions/15298521/continue-running-cucumber-steps-after-a-failure – Sarseth

+0

Я строю тесты, в которых тестируются многие сценарии, но я не хочу, чтобы мои тесты игнорировались неудача, я прошу их продолжать и терпеть неудачу, а затем проигнорировать – MichaelK

+0

Я не уверен, правильно ли я понял вашу проблему. Обычно, когда 1 сценарий (1 тест) терпит неудачу, другие сценарии все еще выполняются огурцом. Вы говорите, что нет? возможно, покажите нам немного вашего кода? – SirLenz0rlot

ответ

0

Короткий ответ: нет.

Я думаю, что «тесты» вы подразумеваете, что огурец называет «шагами».

Огурцы не будут игнорировать другие сценарии, когда один сценарий терпит неудачу, но он остановит текущий сценарий.

В любом случае, я могу придумать, это именно то, что вы хотите.

Как сценарий определяет путь через ваше программное обеспечение. Если вы больше не на этом пути (неудачный шаг), тогда нет смысла пытаться следовать этому пути.

Инструменты «General», такие как затмения, Runner Junit может сделать это немного странным, продемонстрировав шаги в качестве теста и, следовательно, отметьте оставшиеся шаги как пропущенные тесты. Но шаги! = Тесты.

0

Если вы хотите убедиться, что все шаги в вашем сценарии выполнены, вам нужно будет использовать что-то вроде класса ErrorCollector, как в junit. Но это только позаботится об AssertionError, и вы пропустите шаги.

Это реализовано с помощью аннотации @Rules, которую, к сожалению, бегун огурца не распознает. Вам придется вручную создать экземпляр и вызвать метод проверки. Добавьте каждое утверждение, которое вы хотите выполнить, используя метод checkThat(). На последнем этапе вашего метода вызова verify().