当前位置: 首页 > 面试题库 >

在其他项目中重用Cucumber-JVM步骤定义

长孙阳泽
2023-03-14
问题内容

如何在其他项目中重用Cucumber-JVM步骤定义来测试一些典型的Web操作。关键是我仅使用典型场景操作的“步骤定义”实现创建了一些Java项目,例如:

When I follow the link "*some_link*"
Then I should see following content "*some_content*" on page

我想在其他项目(包括在classpath中)中重用这些定义,只是为了编写自己的简单方案。但是当我运行该场景时(作为JUnit测试),Cucumber无法找到“步骤定义”。当我尝试扩展“步骤定义”类时,它给我一个错误,我无法扩展“步骤定义”类。因此,可以重用“步骤定义”吗?


问题答案:

好吧,我找到了解决方案。看起来很容易。

有注释@CucumberOptions,其参数为“
glue”。将此参数指向具有步骤定义的基本包,将强制Cucumber在该基本包中搜索。测试运行器看起来像:

@RunWith(Cucumber.class)
@CucumberOptions(glue = { "com.example.stepdefspackage" })
public class Run{
}


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

  • 我对Cucumber JVM无法获取步骤定义有问题。我在Runner文件中确实有@CucumberOptions。我的功能文件也有@SmokeTest标签。这个问题仍然存在。请帮助!我已经尝试解决这个问题几天了。 Maven 和 Java 版本: Apache Maven 3.0.4Java版本:1.6.0_65,供应商:Apple Inc. 项目结构: 演示-- 运行器文件: 包com.smok

  • 我在定义步骤并将其映射到场景时遇到了问题。我已经安装了maven,设置了java的依赖项,并在IntelliJ中安装了cucumber for java插件和外部库。 这是创建的步骤的示例

  • 我想为cucumber创建步骤定义,它依赖于一系列宝石。当我将Gemfile放在与step定义相同的目录中时,Cucumber似乎没有拾取它。在详细模式下运行cucumber会产生以下输出: /产品/功能步骤/Gemfile[不支持] /产品/功能步骤/GEM文件。锁定[不支持]

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

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