gpt4 book ai didi

groovy - JBehave - 所有步骤都标记为待处理?

转载 作者:行者123 更新时间:2023-12-04 13:00:21 24 4
gpt4 key购买 nike

我正在尝试创建并运行一个简单的 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;
}
}

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

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

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

这里可能发生了什么?

最佳答案

您不需要委托(delegate)给步骤。而且你不应该覆盖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/

安德烈亚斯

关于groovy - JBehave - 所有步骤都标记为待处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8826573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com