質問
クションを行うとともに、簡単なJUnitStory実行。物語ファイルです。
しています:
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;
}
}
なの委コピー&ペーストすべての注釈を付けられた方法MySteps)、実行しJBehaveを取得し、以下の出力:
somePattern(){
// PENDING
}
このような個別の話なのです。
場を作りたい"ものがたり"クラスの引きすべてのファイルと storyPaths
, は、それぞれのステップは定義されています。デバッガを使用は、candidateStepsっている時でもなく、データが必要です。
何ができるのではないかと思う。
解決 4
JBehaveは、古い、未発達な技術です。それを使用しないでください。
他のヒント
必要な権限を委譲します。ともすべきではないオーバーライドcandidateStepsくstepsFactory.以降のバージョンのJBehave,candidateStepsが推奨されていません、このファクトリメソッドが顕著に( http://jbehave.org/reference/stable/javadoc/core/org/jbehave/core/ConfigurableEmbedder.html#candidateSteps() )
このブログができるように基本的なJBehaveのソリューションの動作の詳細:
http://blog.codecentric.de/en/2012/06/jbehave-configuration-tutorial/
アンドレアス
ここであなたの答えの相棒は、次のとおりです。 形式のパッケージが変更されています。
これは推奨されていません 輸入静的org.jbehave.core.reporters.StoryReporterBuilder.Format.HTML;
これは新しいものです:) 輸入静的org.jbehave.core.reporters.Format.HTML;
答えを見つけるためにしばらく時間がかかったが、jbehave文書に隠されていました
希望、それが役立ちます! 乾杯!
あなたは@Delegateを使用する必要はありません - あなたのJUnitStoryはあなたのステップクラスではありません。あなたはこれを持って段階的に渡してみてくださいことはできますか?
あなたはバイトコードは、ステップのクラスのために操作されたクラスに渡すと、JBehaveはもうjbehave注釈が表示されないことがあります。