无法使用JUnitReportingRunner运行jbehave功能/故事

时间:2013-10-22 21:00:07

标签: jbehave

我在eclipse中的jbehave .feature文件中使用JUnitReportingRunner。但是只运行BeforeStories和AfterStories并且没有执行.feature文件。这是代码和错误。请帮忙。可能是什么问题?非常感谢任何帮助。

@RunWith(JUnitReportingRunner.class)

public class CalcConfig extends JUnitStories {

    public CalcConfig() {
        JUnitReportingRunner.recommandedControls(configuredEmbedder());
    }
...

以下是我遇到的错误:

Failed to run story test/resources/calculator/Calculator.feature
java.lang.AbstractMethodError:  de.codecentric.jbehave.junit.monitoring.JUnitScenarioReporter.lifecyle(Lorg/jbehave/core/model/Lifecycle;)V
at org.jbehave.core.reporters.DelegatingStoryReporter.lifecyle(DelegatingStoryReporter.java:79)
at org.jbehave.core.reporters.ConcurrentStoryReporter.lifecyle(ConcurrentStoryReporter.java:137)
at org.jbehave.core.embedder.StoryRunner.runCancellable(StoryRunner.java:277)
at org.jbehave.core.embedder.StoryRunner.run(StoryRunner.java:220)
at org.jbehave.core.embedder.StoryRunner.run(StoryRunner.java:181)
at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:229)
at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:201)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:680)

(AfterStories)

Generating reports view to '/Documents/workspace/Calculator/jbehave' using formats '[stats, stats, html, txt, console, junitscenarioreporter]' and view properties '{defaultFormats=stats, decorateNonHtml=true, viewDirectory=view, decorated=ftl/jbehave-report-decorated.ftl, reports=ftl/jbehave-reports-with-totals.ftl, maps=ftl/jbehave-maps.ftl, navigator=ftl/jbehave-navigator.ftl, views=ftl/jbehave-views.ftl, nonDecorated=ftl/jbehave-report-non-decorated.ftl}'
Reports view generated with 0 stories (of which 0 pending) containing 0 scenarios (of which 0 pending)

1 个答案:

答案 0 :(得分:3)

我的网站上出现了同样的错误。我的问题是,我使用的是错误的JBehave版本。请确保JBehave的版本与JBehave-Junit-Runner匹配。

特别是,JBehave的3.9-SNAPSHOT版本引入了一个额外的方法生命周期,JUnitScenarioReporter没有实现。

修复很简单,所以我今天就把它拉到github。