AbstractTestNGCucumberTests类型的方法scenarios()未定义

AbstractTestNGCucumberTests类型的方法scenarios()未定义,cucumber,cucumber-jvm,testng-dataprovider,parallel-testing,Cucumber,Cucumber Jvm,Testng Dataprovider,Parallel Testing,我正在尝试使用Cucumber4.0实现并行测试执行,但发现了一些问题 根据黄瓜网站上的详细信息: 我在pom.xml中包含了以下依赖项:(除了testng的其他现有依赖项,等等) 我在上述代码中看到以下错误: The method scenarios() of type Baserunner must override or implement a supertype method. (error on line 62) The method scenarios() is undefine

我正在尝试使用Cucumber4.0实现并行测试执行,但发现了一些问题

根据黄瓜网站上的详细信息:

我在pom.xml中包含了以下依赖项:(除了testng的其他现有依赖项,等等)

我在上述代码中看到以下错误:

The method scenarios() of type Baserunner must override or implement a supertype method.  (error on line 62)

The method scenarios() is undefined for the type AbstractTestNGCucumberTests  (error on line 63)

如果我的实现看起来有问题,请让我知道

您应该在同一个包中创建另一个抽象类,如
AbstractTestNGCucumberParallelTest
,并扩展到
@cucumberOptions
注释,如下所示:

package runner;
import cucumber.api.CucumberOptions;

@CucumberOptions(glue = "stepdefs", features = ".")
public class RunnerIT extends AbstractTestNGCucumberParallelTest{

}
*********************************************
package runner;

import org.testng.annotations.DataProvider;

import cucumber.api.testng.AbstractTestNGCucumberTests;

public abstract class AbstractTestNGCucumberParallelTest extends AbstractTestNGCucumberTests {

    @Override
    @DataProvider(parallel = true)
    public Object[][] scenarios() {
        return super.scenarios();
    }

}

我创建了一个示例项目,下面是链接:

java扩展了AbstractTestNGCucumber类,并使用Cucumber 5

此外,您还可以将依赖项与上述项目匹配,以便在缺少任何依赖项的情况下添加它们

这是黄瓜

<cucumber.version>5.7.0</cucumber.version>

<dependency>
           <groupId>io.cucumber</groupId>
           <artifactId>cucumber-java8</artifactId>
           <version>${cucumber.version}</version>
       </dependency>

       <dependency>
           <groupId>io.cucumber</groupId>
           <artifactId>cucumber-java</artifactId>
           <version>${cucumber.version}</version>
       </dependency>

       <dependency>
           <groupId>io.cucumber</groupId>
           <artifactId>cucumber-testng</artifactId>
           <version>${cucumber.version}</version>
           <scope>test</scope>
       </dependency>

       <dependency>
           <groupId>io.cucumber</groupId>
           <artifactId>cucumber-core</artifactId>
           <version>${cucumber.version}</version>
       </dependency>

       <dependency>
           <groupId>io.cucumber</groupId>
           <artifactId>cucumber-junit</artifactId>
           <version>${cucumber.version}</version>
           <scope>test</scope>
       </dependency>
5.7.0
黄瓜
黄瓜-java8
${cumber.version}
黄瓜
黄瓜爪哇
${cumber.version}
黄瓜
黄瓜试验
${cumber.version}
测试
黄瓜
黄瓜核
${cumber.version}
黄瓜
黄瓜刺柏
${cumber.version}
测试
cucumber-java8依赖项仅在编写lambda样式的步骤定义时才需要。
如果有帮助,请告诉我。

没有人遇到过类似的问题吗?欢迎提供指向解决方案的链接,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及为什么存在,然后引用您链接到的页面的最相关部分,以防目标页面不可用。
package runner;
import cucumber.api.CucumberOptions;

@CucumberOptions(glue = "stepdefs", features = ".")
public class RunnerIT extends AbstractTestNGCucumberParallelTest{

}
*********************************************
package runner;

import org.testng.annotations.DataProvider;

import cucumber.api.testng.AbstractTestNGCucumberTests;

public abstract class AbstractTestNGCucumberParallelTest extends AbstractTestNGCucumberTests {

    @Override
    @DataProvider(parallel = true)
    public Object[][] scenarios() {
        return super.scenarios();
    }

}
<cucumber.version>5.7.0</cucumber.version>

<dependency>
           <groupId>io.cucumber</groupId>
           <artifactId>cucumber-java8</artifactId>
           <version>${cucumber.version}</version>
       </dependency>

       <dependency>
           <groupId>io.cucumber</groupId>
           <artifactId>cucumber-java</artifactId>
           <version>${cucumber.version}</version>
       </dependency>

       <dependency>
           <groupId>io.cucumber</groupId>
           <artifactId>cucumber-testng</artifactId>
           <version>${cucumber.version}</version>
           <scope>test</scope>
       </dependency>

       <dependency>
           <groupId>io.cucumber</groupId>
           <artifactId>cucumber-core</artifactId>
           <version>${cucumber.version}</version>
       </dependency>

       <dependency>
           <groupId>io.cucumber</groupId>
           <artifactId>cucumber-junit</artifactId>
           <version>${cucumber.version}</version>
           <scope>test</scope>
       </dependency>