无法使用JunitStory跳过Jbehave中的场景

时间:2014-02-10 16:49:53

标签: bdd jbehave

我一直关注很多帖子&基于已集成的线程 跳过场景的逻辑。仍然无法使其成功运作。 当我把它 “configuredEmbedder()useMetaFilters(Arrays.asList(” - 跳过 “));” 要么 “configuredEmbedder()useMetaFilters(Arrays.asList(” +跳过 “));” 在storyrunner,java文件中,没有任何一个场景被执行。 当我删除该行时,将执行所有方案。 我的.story文件在4个场景中的2个中有“元跳过”。 有人可以看看这个&让我知道我可能错过了什么。

以下是所有配置所在的类 公共类SampleStory扩展了JUnitStory {

public SampleStory() {
    configuredEmbedder().embedderControls()
            .doGenerateViewAfterStories(true)
            .doIgnoreFailureInStories(false).doIgnoreFailureInView(true)
            .useStoryTimeoutInSecs(60);

    configuredEmbedder().useMetaFilters(Arrays.asList("+skip"));

    /* removeStartIgnoreCase */
    // StringUtils.removeStartIgnoreCase("","");
}

@Override
public Configuration configuration() {
    Configuration configuration = new MostUsefulConfiguration();

    Properties viewResources = new Properties();
    viewResources.put("decorateNonHtml", "true");
    viewResources.put("reports", "ftl/jbehave-reports-with-totals.ftl");

    // Where to find the stories
    StoryLoader storyLoader;

    storyLoader = new LoadFromRelativeFile(
            CodeLocations.codeLocationFromClass(this.getClass()));

    configuration.useStoryLoader(storyLoader);

    StoryReporterBuilder storyReporterBuilder;
    storyReporterBuilder = new StoryReporterBuilder();

    // storyReporterBuilder.withDefaultFormats();
    storyReporterBuilder.withDefaultFormats();
    // storyReporterBuilder.withViewResources(viewResources).withFormats(CONSOLE,
    // TXT, HTML, XML);
    // storyReporterBuilder.withFormats();

    // CONSOLE reporting
    configuration.useStoryReporterBuilder(storyReporterBuilder);

    return configuration;
}

/*
 * @Override public Embedder configuredEmbedder() {
 * super.configuredEmbedder().useMetaFilters(Arrays.asList("-skip"));
 * 
 * 
 * return super.configuredEmbedder(); }
 */

@Override
public InjectableStepsFactory stepsFactory() {
    return new InstanceStepsFactory(configuration(), new SampleSteps());

}

Snenairo.story 
Scenario:  This is scenario 1
Given I say hello
When I say bye
Then whatever

Scenario:  This is scenario 2
Meta : @skip
Given I say ello
When I say ye
Then whatever

还有另一个类,其中存在g / w / t的所有绑定方法。

2 个答案:

答案 0 :(得分:2)

得到了jbehave开发组的回复 - 语法错误 我做到了     meta:@skip 但应该是     meta:@skip

答案 1 :(得分:1)

我在我的jbehave场景中使用@ignore就像这样。它有效。

Scenario: Employee1 - Delete Employees
Meta:
@ignore