Хотя я использую огурец с Maven в затмении, он не распознает @ дано, @ когда, @then - PullRequest
0 голосов
/ 14 июня 2019

<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>com.test.cucumber</groupId>
  <artifactId>com.test.cucumber</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <dependencies>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java8</artifactId>
        <version>1.2.5</version>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>1.2.5</version>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-testng</artifactId>
        <version>1.2.5</version>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-picocontainer</artifactId>
        <version>1.2.5</version>
    </dependency>

    <dependency>
        <groupId>net.masterthought</groupId>
        <artifactId>cucumber-reporting</artifactId>
        <version>3.7.0</version>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>1.2.5</version>
    </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.4.0</version>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-firefox-driver</artifactId>
            <version>3.4.0</version>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-htmlunit-driver</artifactId>
            <version>2.52.0</version>
        </dependency>

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>21.0</version>
        </dependency>


        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <version>1.3</version>
        </dependency>

        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>1.6.2</version>
        </dependency>

    </dependencies>

  
</project>

Хотя я использую огурец с Maven в затмении, он не распознает теги @ дали, @ когда, @then. Используемые версии: java1.8, кислородное затмение, интеграция maven с затмением 1.5 и плагин оглушения 0.23.

Синтаксис Gherkin распознается, если я не использую Maven и код работает хорошо. Я пытался использовать те же версии зависимостей в файле pom.xml. Но все же он не импортирует импорт cucumber.api.java.en .; и бросать ошибку. Ниже приведен файл pom.xml для справки.

1 Ответ

0 голосов
/ 15 июня 2019

Однако вы не поделились pom.xml. но это происходит, когда мы смешиваем прямые и переходные зависимости. Поэтому мы не будем смешивать прямые и переходные зависимости, особенно их версии! Это может привести к непредсказуемому результату. Ниже приведено несколько сообщений об ошибках людей из-за неправильного использования зависимостей.

  • Не удается разрешить импорт cucumber.api.junit
  • java.lang.NoClassDefFoundError: gherkin / IGherkinDialectProvider
  • import cucumber.api.DataTable; не может быть решена

Решение: Вы можете добавить приведенный ниже набор минимальных зависимостей от огурца. Если вы используете зависимости info.cukes, пожалуйста, начните использовать зависимости io.cucumber как

  • info.cuke - это довольно старая зависимость, имеющая последнюю версию 1.2.5, и поддержка не предоставляется после сентября 2016 года и

  • io.cucumber является последней версией, имеющей версию от 2 до 4.3, где мы можем видеть все последние обновления от команды Cucumber

    <dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>4.3.0</version>
    <scope>test</scope>
    </dependency>
    
    <dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-picocontainer</artifactId>
    <version>4.3.0</version>
    <scope>test</scope>
    </dependency>
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...