Вопрос

Я пытаюсь создать и запустить простую Junitstory, чтобы запустить файл .story.

У меня есть это:

class Scenario1 extends JUnitStory {
    @Delegate MySteps steps = new MySteps()

    @Override
    public Configuration configuration() {
        return new MostUsefulConfiguration()
                .useStoryLoader(new LoadFromRelativeFile(new File('src/test/groovy').toURL()))
                .useStoryReporterBuilder(
                new StoryReporterBuilder()
                        .withDefaultFormats()
                        .withFormats(Format.HTML, Format.CONSOLE, Format.TXT)

        );
    }

    @Override
    public List candidateSteps() {
        final candidateSteps = new InstanceStepsFactory(configuration(), this).createCandidateSteps()
        return candidateSteps;
    }
}

С делегатом или без него (копирование и вставка во всех аннотированных методах мистепов), когда я работаю в поеду, я получаю следующий вывод:

somePattern(){
  // PENDING
}

Как будто отдельные истории не поднимают шаги.

Когда я создаю класс «историй» и привлекаю все файлы истории с storyPaths, отдельные шаги определены. Используя отладчик, я вижу, что CandidateSteps поражается, но он не втягивает данные, которые необходимы.

Что может здесь происходить?

Это было полезно?

Решение 4

JBEDAVE - старая, слаборазвитая технология. Не используйте это.

Другие советы

Вам не нужно делегировать на шаги. А также вы не должны переопределять CandidateSteps, а скорее StepingFactory. В более поздних версиях JBEAVE CandidateSteps устарел, чтобы сделать это предпочтение более заметным методом завода ( http://jbehave.org/reference/stable/javadoc/core/org/jbehave/core/configaillembedder.html#candidatesteps() )

Смотрите этот блог, где я объяснил, как работает базовая конфигурация JBEDAVE более подробно:

http://blog.codecentric.de/en/2012/06/jbehave-configuration-tutorial/

Андреас

Вот ваш приятель ответа: пакет формата изменился.

Это устаревший импорт статический org.jbehave.core.reporters.storyreporterbuilder.format.html;

Это новый :) Импорт статический org.jbehave.core.reporters.format.html;

Потребовалось некоторое время, чтобы найти ответ, но был спрятан на документации JBEDAVE

Надеюсь, поможет! Ваше здоровье!

Вам не нужно использовать @Delegate - ваш Junitstory не ваш класс шагов. Можете ли вы попробовать пройти по шагам, где у вас есть?

Когда вы проходите в классе, который манипулировал по банкам для занятий по ступеням, JBEDAVE может больше не увидеть аннотации JBEDAVE.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top