2016-01-13 37 views
0

我有一个特定的场景尚未准备好进行测试。所以我需要跳过它来运行其他场景的测试。如何跳过Jbehave测试的特定场景?

Scenario: Login-success Scenario: 

Meta: 
@skip 
@ignored true 

//Regular Steps 
+0

你为什么会需要跳过它?只要让它变红,直到你修好它。为什么它会干扰你的其他测试?您能否详细说明或向我们展示一个例子? –

+0

是的,它确实..有些步骤重复吧?例如:用户输入用户名和密码。每个场景我都不能有不同的实现。 – WarLoCk

+0

它不会通过,如果它的红色。我的意思是通过。它不会去下一个场景 – WarLoCk

回答

0

您可以使用@skip的元信息简单地跳过测试:

Scenario: A scenario which we cannot run every time due to some technical contraint 
Meta: 
@skip  
@ignored true 
Given ... // normal scenario steps 

在meta标签的文档都可以找到here

+0

这一些如何不工作。我看过文档。该场景仍在运行。 – WarLoCk

+0

@AkaashVankamamidi你能编辑你的问题,提供一些你已经尝试过的例子吗? –

+0

你现在可以检查吗? – WarLoCk

1

为了使用@skip@ignore true元中一个故事跳过这个故事,
你需要配置一个元过滤器配置你的测试。

取决于你如何配置你的测试,它可以是例如:

@RunWith(AnnotatedEmbedderRunner.class) 
@UsingEmbedder(metaFilters = {"-skip"}) 
public class AnnotatedTraderEmbedder extends InjectableEmbedder { 
} 

,或者在Java中:

public MyStories() { 
    configuredEmbedder().embedderControls().doGenerateViewAfterStories(true) 
     .doIgnoreFailureInStories(true) 
     .doIgnoreFailureInView(true).useThreads(1); 
    // Meta filters: 
    configuredEmbedder().useMetaFilters(Arrays.asList("-skip")); 
} 

详见文件:http://jbehave.org/reference/stable/meta-filtering.html