Подтвердить что ты не робот

Как прокомментировать сюжетную линию в JBehave Story

У меня есть сюжетная линия следующим образом

Scenario: 

Given user is on Login page

When user types login details with xxx as user xxx as passwd and submits

Then dashboard is shown

пожалуйста, сообщите, как прокомментировать или не сделать пробег для строки (пример: 2 строки не должны проходить тест после 1 непосредственно 3 строки)

4b9b3361

Ответ 1

Вы хотите временно отключить шаг в вашем сценарии? Прокомментируйте строку, используя префикс "!-- ", например

Given user is on Login page
!-- When user types login details with xxx as user xxx as passwd and submits
Then dashboard is shown

Пробел сразу после! - обязателен. Спасибо @flaz14

Смотрите документацию по JBehave: http://jbehave.org/reference/stable/grammar.html

Ответ 2

Если вы используете Eclipse IDE, вы можете использовать ярлык Ctrl + T, чтобы прокомментировать одну/несколько сюжетных строк.

Ответ 3

Я знаю, это старый вопрос, но я нашел решение для этого, и я разделяю для сообщества:

"! -" - знак отмены шага, означает шаги, которые необходимо отключить.

В нашем проекте мы используем рассказ Parser:

this.currentConf.useStoryParser(new TransformingStoryParser(this.currentConf.storyParser(), this.transformComment, this.transformCutter));

Нам нужно было разместить документацию в истории пользователей, поэтому мы сделали разницу между комментариями и шагами отмены:

!-- Then... => Отменяемые шаги (собственный путь)

!--| This is aa comment... !--| This is aa comment... => Комментарий

С трансформатором комментарии удаляются из истории до ее выполнения.

Это то же самое для "| -", пример отмены. Мы ввели "| - |" или "резак", чтобы не допустить, чтобы остальная часть истории была выполнена.

Классы (this.transformComment, this.transformCutter):

    public class ParserTransformingComment implements StoryTransformer {

        public ParserTransformingComment() {
        }


        /**
         * Suppression de commentaires
         */
        private Rewriter vC = new Rewriter("(?ms)^((!--\\|[^\\r\\n]*)(?:\\r?\\n)?)") {
            @Override
            public String replacement() {
                System.out.println("Ignoré : " + this.group(1));            
                return "";
            }
        };

        @Override
        public String transform(String pStoryAsText) {
            return vC.rewrite(pStoryAsText);
        }

    }

    public class ParserTransformingCutter implements StoryTransformer {    
        public ParserTransformingCutter() {
        }

        /**
         * Gestion des 'cutter'.
         */
        private Rewriter vS = new Rewriter("(?ms)^(\\|--\\|.*)") {
            @Override
            public String replacement() {
                System.out.println(">>> Cette section va être ignorée : ");
                System.out.println(StringUtils.lineStart("> ",this.group(1)));
                System.out.println("-------------");            
                return "";
            }
        };


        @Override
        public String transform(String pStoryAsText) {
            return vS.rewrite(pStoryAsText);
        }

    }

EDIT: с Jbehave 4.3 комментарии обрабатываются лучше, даже без StoryTransformer:

!--BlahBlah -- ignored completely by Jbehave
!-- Then ... -- steps ignored (registered in the report)
!-- Blah blah -- comment (registered in the report)

С уважением, Дэвид К.

Ответ 4

Используйте это !-- Когда пользователь вводит данные для входа в систему с xxx как пользователь xxx в качестве пароля и отправляет. Примечание. Для комментариев " !-- " пространство является обязательным, иначе он выполнит этот шаг.