Обновление cucumber-java с 1.2.4 из info.cukes до 4.2.2 с использованием cucumber.io, вызвавшего импорт данных (или когда / потом), не может быть решено ошибкой - PullRequest
0 голосов
/ 08 февраля 2019

В рамках обновления мне пришлось перейти с info.cukes cucumber-java с версией 1.2.4 на io.cucumber cucumber-java с версией 4.2.2, но код, который успешно работал с более старой версией cucumber, начал выдаватьошибка, которая говорит: Импорт cucumber.api.java.en.Given (Или Когда / Затем) не может быть решен

Ниже приведен класс огурцов, с которого начинается выполнение

    {
     @RunWith(Cucumber.class)
     @CucumberOptions(features = "classpath:features/functional/",
     glue = {"com.jacksparrow.automation.steps_definitions.functional" },
     tags = { "@guest_search_in_progress" },
     plugin = { "pretty","json:target/cucumber-json/cucumber.json",
     "junit:target/cucumber-reports/Cucumber.xml", "html:target/cucumber- 
     reports"},
     strict = false,
     dryRun = false,
     monochrome = true)
      public class FunctionalRunCuke {
     }

     <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-core</artifactId>
                <version>4.2.2</version>
            </dependency>

            <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>4.2.2</version>
            </dependency>

            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>4.2.2</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-jvm-deps</artifactId>
                <version>1.0.6</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>gherkin</artifactId>
                <version>6.0.14</version>
            </dependency>

            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-all</artifactId>
                <version>1.10.19</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-testng</artifactId>
                <version>2.0.0</version>
            </dependency>

            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-picocontainer</artifactId>
                <version>2.1.0</version>
                <scope>test</scope>
            </dependency>





     }

Пожалуйстаподскажите, что я должен сделать, чтобы решить эту проблему

Ответы [ 3 ]

0 голосов
/ 18 февраля 2019

Пожалуйста, используйте приведенные ниже зависимости в POM и добавьте зависимость JUnit / TestNG в соответствии с требованиями вашей платформы. (Просто измените v. 4.2.3 на V.4.2.2)

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>4.2.3</version>
</dependency>

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>4.2.3</version>
    <scope>test</scope>
</dependency>

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>datatable</artifactId>
    <version>1.1.12</version>
</dependency>

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-testng</artifactId>
    <version>4.2.3</version>
</dependency>

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-picocontainer</artifactId>
    <version>4.2.3</version>
    <scope>test</scope>
</dependency>
0 голосов
/ 23 февраля 2019

проблема возникла из-за неправильного набора зависимостей от огурцов.Ниже приведен правильный набор зависимостей Cucumber, которые должны использоваться при переходе на 4.0.0, и обратите внимание - 1. Все зависимости Cucumber должны быть одной и той же версии.2. Используйте JUnit или TestNG согласно вашему базовому требованию.

0 голосов
/ 11 февраля 2019

Прежде всего, удалите зависимости cucumber-jvm-deps и gherkin, так как они могут мешать переходным зависимостям из огурца 4.2.2.Во-вторых, если вы хотите использовать Cucumber с JUnit, вам также нужно импортировать Junit (v4.12; поскольку v5 еще не поддерживается Cucumber).И вы захотите удалить зависимость cucumber-testng (или наоборот, если вы хотите использовать TestNg, удалите cucumber-junit, и вам, вероятно, понадобится зависимость TestNg).Наконец, вам может потребоваться обновить операторы импорта, если их местоположение изменилось в новой версии Cucumber.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...