【问题标题】:JBehave - all steps marked pending?JBehave - 所有步骤都标记为待处理?
【发布时间】:2014-08-07 22:41:05
【问题描述】:

我正在尝试创建并运行一个简单的 JUnitStory 来运行一个 .story 文件。

我有这个:

class Scenario1 extends JUnitStory {
    @Delegate MySteps steps = new MySteps()

    @Override
    public Configuration configuration() {
        return new MostUsefulConfiguration()
                .useStoryLoader(new LoadFromRelativeFile(new File('src/test/groovy').toURL()))
                .useStoryReporterBuilder(
                new StoryReporterBuilder()
                        .withDefaultFormats()
                        .withFormats(Format.HTML, Format.CONSOLE, Format.TXT)

        );
    }

    @Override
    public List candidateSteps() {
        final candidateSteps = new InstanceStepsFactory(configuration(), this).createCandidateSteps()
        return candidateSteps;
    }
}

无论有没有委托(复制和粘贴 MySteps 的所有带注释的方法),每当我运行 JBehave 时,我都会得到以下输出:

somePattern(){
  // PENDING
}

就像个别故事没有跟上步骤。

当我创建一个“故事”类并使用storyPaths 提取所有故事文件时,将定义各个步骤。使用调试器,我看到 CandidateSteps 被命中,但它没有提取所需的数据。

这里可能发生了什么?

【问题讨论】:

  • 只是检查,但 MySteps 是否导入 org.jbehave.core.annotations.*?

标签: groovy junit jbehave


【解决方案1】:

您无需委托给步骤。而且你不应该覆盖candidateSteps,而应该覆盖stepsFactory。在更高版本的 JBehave 中,candidateSteps 已被弃用,以使对工厂方法的偏好更加突出(http://jbehave.org/reference/stable/javadoc/core/org/jbehave/core/ConfigurableEmbedder.html#candidateSteps())

请参阅此博客,我在其中更详细地解释了基本 JBehave 配置的工作原理:

http://blog.codecentric.de/en/2012/06/jbehave-configuration-tutorial/

安德烈亚斯

【讨论】:

    【解决方案2】:

    这是你的答案好友: 格式包已更改。

    这是已弃用的 导入静态 org.jbehave.core.reporters.StoryReporterBuilder.Format.HTML;

    这是新的 :) 导入静态 org.jbehave.core.reporters.Format.HTML;

    花了一段时间才找到答案,但被隐藏在 jbehave 文档中

    希望对您有所帮助! 干杯!

    【讨论】:

      【解决方案3】:

      您不需要使用@Delegate - 您的 JUnitStory 不是您的 Steps 类。你可以尝试在你有这个的步骤中传递吗?

      当您传入一个已为 Steps 类进行字节码操作的类时,JBehave 可能不再看到 jbehave 注释。

      【讨论】:

        【解决方案4】:

        JBehave 是一种陈旧的、不发达的技术。不要使用它。

        【讨论】:

        • 请解释一下你为什么这么认为?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-17
        • 2015-01-19
        • 1970-01-01
        • 2015-12-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多