【问题标题】:How to skip a particular scenario on Jbehave tests?如何跳过 Jbehave 测试的特定场景?
【发布时间】:2023-03-15 05:40:01
【问题描述】:

我有一个尚未准备好进行测试的特定场景。所以我需要跳过它以便在其他场景上运行测试。

Scenario: Login-success Scenario:

Meta:
@skip
@ignored true

//Regular Steps

【问题讨论】:

  • 为什么需要跳过它?让它变红,直到你修复它。为什么它会干扰您的其他测试?您能否详细说明或向我们展示一个示例?
  • 是的,确实如此。有些步骤重复对吗?示例:用户输入用户名和密码。我不能为每个场景有不同的实现。
  • 如果是红色就不会通过。顺便说一句,我的意思是。它不会进入下一个场景

标签: java skip jbehave


【解决方案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

【讨论】:

  • 看起来很酷,虽然仍然不明显如何全局设置嵌入器以及放置 cod 的位置以及如何配置 JBehave 以查看此嵌入器。
【解决方案2】:

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

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

可以在here找到有关元标记的文档

【讨论】:

  • 这有些行不通。我看过文档。场景仍在运行。
  • @AkaashVankamamidi 您能否编辑您的问题以提供一些您尝试过的示例?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多