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

Gradlecucumber任务是不识别cucumber步骤

乜业
2023-03-14

我的构建文件如下所示,并附上了我的文件夹路径。当我运行任务时,它显示未定义的步骤,并要求再次执行步骤。

在此输入图像描述

我在gradle创建了自己的任务来运行cucumber测试

task seleniumbddTest() {
    dependsOn assemble, testClasses
    doLast {
        javaexec {
            main = "io.cucumber.core.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['--plugin', 'html:target/seleniumreport' + getTime() + '.html', '--plugin', 'pretty', '--glue', 'Capsone.steps', 'src/seleniumbdd/resources', '--tags', '@Test']
        }
    }
}

共有1个答案

潘振国
2023-03-14

您应该在配置中添加胶水路径。胶水路径指定您的步骤定义所在的Cucumber。只需在您的seleniumddTest类中添加另一行:

glue = "package"

最后,使用步骤定义所在的包的名称更改“包”。如果步骤定义类名为“steps”,并且它们位于包“stepDefs”下,则只需添加“stepDefs”作为粘附路径。您不必从根目录提供完整路径。

另外,从参数中删除“-glue”标志

祝你好运:)

 类似资料:
  • 我已经写了我的firsy cucumber特征文件。当我将功能文件作为Cucumber功能运行时,会出现以下错误 “警告:cucumber-jvm的--format选项不推荐使用。请改用--plugin。”-我在我的@CucumberOptions of runner类中使用了“plugin”,但仍然得到相同的错误 场景:验证登录页面#c:/selenium/regressiontest/modu

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

  • 使用一个不同的测试运行器(基于注释的测试运行器),这些步骤将被拾取并运行。不过,基于注释的方法似乎不支持步骤工厂,所以我交换了模型。现在,它将加载steps类(在调用构造函数时会发生一些可见的事情),但它不会识别其中的任何步骤。有什么想法吗?下面是我的嵌入器类: }

  • 这可能是一个更巧妙的问题,但我在ViewComponent类中有以下方法 所以我的问题是我应该采取什么方法?让异步在那里与警告无关,还是有一个解决方案/修复这个警告?它对我的项目有那么大的影响吗? 谢了!

  • 有没有办法调用cucumber来exe一些用Java编写的特性文件?(不是作为Junit) 我理解您可以通过mvn或Gradle运行Cucumber-JVM作为Junit测试的一部分。 但我不想将此BDD测试作为构建过程的一部分运行。我想在配置项的最后一步调用cucumber,它将执行Ruby、Cpp、Java中的任何步骤定义