【问题标题】:Exception in thread "main" after updating cucumber version更新黄瓜版本后线程“main”中的异常
【发布时间】:2019-07-24 07:49:42
【问题描述】:

我已经更新了我的黄瓜版本,之后它给出了以下异常:

     WARNING: You are using deprecated Main class. Please use 
   io.cucumber.core.api.cli.Main
   Exception in thread "main" cucumber.runtime.CucumberException: Failed to 
  instantiate public 
 cucumber.runtime.java.JavaBackend(cucumber.runtime.io.ResourceLoader,io.cucum 
  ber.stepexpression.TypeRegistry)

我的跑步者班级:

  package hgtest.runner;


import io.cucumber.testng.AbstractTestNGCucumberTests;
import io.cucumber.testng.CucumberOptions;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

@CucumberOptions(plugin = "json:target/cucumber-report.json",
        features="classpath:features",
        glue="hgtest.stepdefinitions"
)
public abstract class CustomCucumberAbstractTestng extends AbstractTestNGCucumberTests {

    public CustomCucumberAbstractTestng() {
    }

    @Test(
            groups = {"cucumber"},
            description = "Runs Cucumber Feature",
            dataProvider = "features"
    )
    @Override
    @DataProvider(parallel = true)
    public Object[][] scenarios() {
        return super.scenarios();
    }


}

Pom.xml 如下:

    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>${testng.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>${selenium.version}</version>
    </dependency>
  <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-core -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>4.5.0</version>
    </dependency>
  <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>4.5.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java8 -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java8</artifactId>
        <version>4.5.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-testng -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-testng</artifactId>
        <version>4.5.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.cucumber/gherkin -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>gherkin</artifactId>
        <version>4.1.3</version>
    </dependency>

我已将 cucumber 版本从 info.cuke 更新为 io.cucumber。之后它在线程“main”cucumber.runtime.CucumberException中说异常。没有 io.cucumber.core.api.cli.Main。我正在使用 intellij Idea

【问题讨论】:

标签: cucumber cucumber-java


【解决方案1】:

正如@mpkorstanje 所说:

要使用的正确类是 io.cucumber.core.api.Main

【讨论】:

    【解决方案2】:

    我设法强制 IntelliJ-cucumber 插件模板使用建议的 io.cucumber.core.api.cli.Main,它可以工作。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。

      我把下面的依赖放在pom.xml中,并在问题解决的步骤类中实现了En接口。

      <!-- cucumber -->
          <dependency>
              <groupId>io.cucumber</groupId>
              <artifactId>cucumber-java8</artifactId>
              <version>4.2.0</version>
              <scope>test</scope>
          </dependency>
      
          <dependency>
              <groupId>io.cucumber</groupId>
              <artifactId>cucumber-spring</artifactId>
              <version>4.2.0</version>
              <scope>test</scope>
          </dependency>
      
          <dependency>
              <groupId>io.cucumber</groupId>
              <artifactId>cucumber-junit</artifactId>
              <version>4.2.0</version>
              <scope>test</scope>
          </dependency>
      

      【讨论】:

        【解决方案4】:

        在 SmartBear 官方论坛上,Cucumber Open 的创建者和首席开发者说:

        “您可以放心地忽略此警告。这意味着 cucumber-eclipse 尚未更新以使用 Cucumber 的新包结构。我们对此有一个未解决的问题。如果您对此有强烈的感觉,您可以通过以下方式帮助我们向 cucumber-eclipse 提交拉取请求。”

        https://community.smartbear.com/t5/Cucumber-Open/deprecated-Main-class-error-while-using-Cucumber-6-1-1/td-p/203642

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-09
          • 2016-12-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-05
          相关资源
          最近更新 更多