当前位置: 首页 > 知识库问答 >
问题:

cucumber步骤作为Spring的豆子

范翰池
2023-03-14

我在项目中使用了Spring、Cucumber和Junit。测试运行程序带有@ContextConfiguration注释,因此在运行套件之前,它会创建一个Spring上下文。

我希望Spring将步骤定义类实例化为Springbean,这样我就可以注入依赖项并在步骤中使用它们。可以通过将类声明为@Component来完成。

到现在为止,一直都还不错。问题是Cucumber将再次实例化步骤定义,并且不会使用Spring已经创建的bean和注入的依赖项。

有什么想法让cucumber使用Spring实例化的步骤定义吗?

共有1个答案

叶景龙
2023-03-14

您的运行程序类应该用@RunBy(Cucumber.class)来注释,而不是用@ContextConfigsion来注释。然后Cucumber应该相应地扫描并实例化您的Spring上下文。

 类似资料:
  • TL:DR控制台不显示缺少步骤的步骤正则表达式 编辑:添加功能文件

  • 我们有一些功能文件,这些文件有长时间的测试,可以验证用非英语语言编写的多个内容,

  • 我不能为一个项目用cucumber执行简单的测试。我在Intellij13社区,使用cucumber插件。 我在features目录中编写了我的features文件,我还通过插件实现了创建它们的步骤。intellij可以识别功能文件中的我的步骤,它可以导航并转到步骤实现。当我尝试运行我的场景时,if无法声明“未定义的步骤”。任何帮助都将不胜感激。 以下是我如何组织我的项目:

  • 我今天将我的serenity和cucumber测试升级到2.6.0 en cucumber 6版本。只需要更改大量程序包,并且功能文件的步骤不再链接到步骤定义。如果我的cucumberrunner的设置 但是,如果我在功能文件中查看intellij,您将无法再单击步骤以转到定义。当我运行功能文件时,我会得到以下异常: 我不确定是什么地方出了问题,因为相同的代码适用于以前的版本

  • 自从我升级到最新的社区版IntelliJ 15.0.3以来,每当我使用alt-enter从功能定义文件自动生成步骤定义时,它都会以驼峰大小写而不是带下划线的常规样式创建方法。 例如,它过去是这样生成的 但现在它产生了通常的camelCase惯例: 有没有办法把这个设置改回第一种样式? 谢谢

  • Java-Cucumber示例 看起来我缺少步骤,它是抱怨缺少步骤,并认为它们是未定义的 .功能文件: