【问题标题】:cucumber-java and cucumber-junit after version 1.0.14 does not workcucumber-java 和 cucumber-junit 版本 1.0.14 之后不起作用
【发布时间】:2015-07-08 07:10:28
【问题描述】:

我同时使用 Cucumber-JVM 和 Selenium WebDriver。我在eclipse中有一个Maven项目,pom.xml文件的依赖如下:

<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>1.2.2</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>1.2.2</version>
    <scope>test</scope>
</dependency>

RunCukesTest.java 文件内容为:

import org.junit.runner.RunWith;
import cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
@Cucumber.Options(format = {"pretty", "html:target/cucumber-htmlreport","json-pretty:target/cucumber-report.json"})
public class RunCukesTest {
}

我在以下代码行中收到错误:

import cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
@Cucumber.Options(format = {"pretty", "html:target/cucumber-htmlreport","json-pretty:target/cucumber-report.json"})

但是当我使用 1.0.14 版本时,它运行良好。最新版本有什么问题?

【问题讨论】:

  • 你有什么错误信息?
  • 导入 cucumber.junit 无法解析为“import cucumber.junit.Cucumber;”和此行的多个标记 - Cucumber 无法解析为类型 - Class 无法解析接下来的 2 行代码

标签: eclipse selenium-webdriver cucumber cucumber-jvm cucumber-junit


【解决方案1】:

@Cucumber.Optionsdeprecated 使用 @CucumberOptions 代替

@CucumberOptions(
    format = "pretty",
    features = "//refer to Feature file"  
)

希望对你有帮助

【讨论】:

    【解决方案2】:

    注解已更改为@CucumberOptions

    我认为json-pretty 在这个黄瓜版本中已更改为json

    这应该可行:

    @CucumberOptions(
          format = {"pretty", "html:target/cucumber-htmlreport","json:target/cucumber-report.json"}
    )
    

    此外,根据cucumber-jvm specifications 格式已被弃用。您应该替换为plugin。这也应该有效:

    plugin = {"pretty", "html:target/cucumber-htmlreport","json:target/cucumber-report.json"}
    

    希望对你有帮助

    【讨论】:

      【解决方案3】:

      用黄瓜 1.2.2

      <cucumber.version>1.2.2</cucumber.version>
      ....
          <dependency>
              <groupId>info.cukes</groupId>
              <artifactId>cucumber-java</artifactId>
              <version>${cucumber.version}</version>
              <scope>test</scope>
          </dependency>
          <dependency>
              <groupId>info.cukes</groupId>
              <artifactId>cucumber-junit</artifactId>
              <version>${cucumber.version}</version>
              <scope>test</scope>
          </dependency>
      ....
      

      这里是一个示例工作测试:

      import cucumber.api.CucumberOptions;
      import cucumber.api.junit.Cucumber;
      
      @RunWith(Cucumber.class)
      @CucumberOptions(features = "classpath:features/myfeature.feature", tags = "@Mytag", plugin = {"pretty", "html:target/cucumber"})
      public class MYAcceptanceTest {
      
      }
      

      注意导入是cucumber.api.junit.Cucumber 而不是cucumber.junit.Cucumber,您需要为黄瓜选项添加导入。该选项的原型是 @CucumberOptions 而不是 @Cucumber.Options

      【讨论】:

        【解决方案4】:

        @Cucumber.Options 替换为 @CucumberOptionsformatplugin

        @CucumberOptions(plugin = {"pretty", "html:target/cucumber-htmlreport","json-pretty:target/cucumber-report.json"})
        public class RunCukesTest {
        }
        

        【讨论】:

          【解决方案5】:

          您可以尝试将 RunCukesTest.java 文件和您的 Feature 文件放在同一个文件夹或包中。

          【讨论】:

            【解决方案6】:

            Cucumber 版本现已更新至 2.0.1 版。 替换

            <groupId>info.cukes</groupId>
            

            <groupId>io.cucumber</groupId>
            

            【讨论】:

              【解决方案7】:

              By Adding Below Dependencies above issue got resolved

              请列出 POM 中添加的依赖项

              <project xmlns="http://maven.apache.org/POM/4.0.0"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
                  <modelVersion>4.0.0</modelVersion>
              
                  <groupId>FirstBBDApp</groupId>
                  <artifactId>FirstBBDApp</artifactId>
                  <version>0.0.1-SNAPSHOT</version>
                  <packaging>jar</packaging>
              
                  <name>FirstBBDApp</name>
                  <url>http://maven.apache.org</url>
              
                  <properties>
                      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                  </properties>
              
                  <dependencies>
                      <dependency>
                          <groupId>info.cukes</groupId>
                          <artifactId>cucumber-picocontainer</artifactId>
                          <version>1.2.5</version>
                      </dependency>
                      <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-java -->
                      <dependency>
                          <groupId>info.cukes</groupId>
                          <artifactId>cucumber-java</artifactId>
                          <version>1.2.5</version>
                      </dependency>
                      <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-junit -->
                      <dependency>
                          <groupId>info.cukes</groupId>
                          <artifactId>cucumber-junit</artifactId>
                          <version>1.2.5</version>
                      </dependency>
                      <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-core -->
                      <dependency>
                          <groupId>info.cukes</groupId>
                          <artifactId>cucumber-core</artifactId>
                          <version>1.2.5</version>
                      </dependency>
                      <dependency>
                          <groupId>info.cukes</groupId>
                          <artifactId>cucumber-jvm</artifactId>
                          <version>1.2.5</version>
                          <type>pom</type>
                      </dependency>
                      <dependency>
                          <groupId>net.masterthought</groupId>
                          <artifactId>cucumber-reporting</artifactId>
                          <version>1.0.0</version>
                      </dependency>
                      <dependency>
                          <groupId>info.cukes</groupId>
                          <artifactId>cucumber-jvm-deps</artifactId>
                          <version>1.0.3</version>
                      </dependency>
                      <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-html -->
                      <dependency>
                          <groupId>info.cukes</groupId>
                          <artifactId>cucumber-html</artifactId>
                          <version>0.2.6</version>
                      </dependency>
                      <dependency>
                          <groupId>net.sourceforge.cobertura</groupId>
                          <artifactId>cobertura</artifactId>
                          <version>2.1.1</version>
                      </dependency>
                      <dependency>
                          <groupId>info.cukes</groupId>
                          <artifactId>gherkin</artifactId>
                          <version>2.12.2</version>
                      </dependency>
                      <!-- https://mvnrepository.com/artifact/info.cukes/gherkin-jvm-deps -->
                      <dependency>
                          <groupId>info.cukes</groupId>
                          <artifactId>gherkin-jvm-deps</artifactId>
                          <version>1.0.3</version>
                      </dependency>
                      <dependency>
                          <groupId>org.mockito</groupId>
                          <artifactId>mockito-all</artifactId>
                          <version>2.0.2-beta</version>
                      </dependency>
                      <!-- https://mvnrepository.com/artifact/junit/junit -->
                      <dependency>
                          <groupId>junit</groupId>
                          <artifactId>junit</artifactId>
                          <version>4.12</version>
                          <scope>test</scope>
                      </dependency>
                      <dependency>
                          <groupId>org.seleniumhq.selenium</groupId>
                          <artifactId>selenium-java</artifactId>
                          <version>3.7.1</version>
                      </dependency>
                      <!-- https://mvnrepository.com/artifact/junit/junit-dep -->
                      <dependency>
                          <groupId>junit</groupId>
                          <artifactId>junit-dep</artifactId>
                          <version>4.11</version>
                          <type>pom</type>
                          <scope>test</scope>
                      </dependency>
                      <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver -->
                      <dependency>
                          <groupId>org.seleniumhq.selenium</groupId>
                          <artifactId>selenium-chrome-driver</artifactId>
                          <version>3.14.0</version>
                      </dependency>
                      <dependency>
                          <groupId>com.google.code.gson</groupId>
                          <artifactId>gson</artifactId>
                          <version>2.8.5</version>
                          <scope>provided</scope>
                      </dependency>
                      <dependency>
                          <groupId>com.sun</groupId>
                          <artifactId>tools</artifactId>
                          <version>1.6</version>
                          <scope>system</scope>
                          <systemPath>C:\Program Files\Java\jdk1.8.0_202\lib\tools.jar</systemPath>
                      </dependency>
                  </dependencies>
              </project>
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2018-10-20
                • 1970-01-01
                • 2019-11-19
                • 2022-01-13
                • 1970-01-01
                相关资源
                最近更新 更多