JBehave with Serenity - 报告无法找到测试场景

时间:2018-01-23 22:35:15

标签: maven jbehave serenity-bdd

使用Jbehave,我的跑步者类扩展了JUnitStories,我可以使用以下内容生成普通样式的报告:

    @Override
    public Configuration configuration() {
    Class<? extends Embeddable > embeddableClass = this.getClass();
        return new MostUsefulConfiguration().useStoryLoader(new LoadFromClasspath(embeddableClass))
            .useStoryControls(new StoryControls().doResetStateBeforeScenario(false).useStoryMetaPrefix("story_").useScenarioMetaPrefix("scenario_"))
            .useStoryReporterBuilder(
                new StoryReporterBuilder()
                .withCodeLocation(CodeLocations.codeLocationFromClass(embeddableClass))
                .withDefaultFormats().withFormats(CONSOLE, HTML).withFailureTrace(true)
                .withFailureTraceCompression(true));
}

现在我想将JBehave与Serenity集成以获得更好看的报告^ _ ^。所以我改变了我的跑步者类来继承SerenityStories。添加依赖项并通过maven运行后,测试通过。但是,Serenity生成的报告始终会看到“0测试场景”。

我看到SerenityStories继承了JUnitStories,并且还覆盖了configuration()方法。

如何让Serenity看到我的测试场景?我需要以不同方式覆盖configuration()方法吗?怎么样?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我能够通过创建一个新的maven项目来使其工作。 使用了原型:&#39; serenity-jbehave-archetype&#39;。 将会有一个预先创建的&amp;继承SerenityStories的空转子类。 我刚刚将我的文件合并到这个新项目中。 至于跑步者类,我已经覆盖了方法stepsFactory()和storyPaths()来匹配我的步骤/故事。

希望有道理。谢谢!