JBEDAVE - Все шаги отмечены в ожидании?
Вопрос
Я пытаюсь создать и запустить простую 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.