JUnit Cucumber не может найти шаги

Во время выполнения команды «mvn test» я получаю следующее сообщение об ошибке:

7 Scenarios (7 undefined)
31 Steps (31 undefined)
0m0,000s

You can implement missing steps with the snippets below...

Тем не менее, все эти шаги хорошо определены в моих файлах и хорошо соответствуют фрагментам, предложенным в сообщении об ошибке!

Это мой бегун по огурцу:

@RunWith(ExtendedCucumber.class)

@ExtendedCucumberOptions(jsonReport = "target/cucumber.json", retryCount = 3, detailedReport = true, detailedAggregatedReport = true, overviewReport = true, jsonUsageReport = "target/cucumber-usage.json", usageReport = true, toPDF = true, outputFolder = "target")

@CucumberOptions(plugin = { "html:target/cucumber-html-report", "json:target/cucumber.json", "pretty:target/cucumber-pretty.txt",
    "usage:target/cucumber-usage.json", "junit:target/cucumber-results.xml" }, features = { "src/test/resources" }, glue = { "src/test/java" })

public class CucumberTest {}

У меня есть несколько файлов функций и файлы определений нескольких шагов.

Мои зависимости:

<properties>
    <cucumber.version>1.2.5</cucumber.version>
    <jdk.version>1.8</jdk.version>
</properties>

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

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

        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <scope>test</scope>
        </dependency>

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

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

        <dependency>
            <groupId>com.github.mkolisnyk</groupId>
            <artifactId>cucumber-runner</artifactId>
            <version>1.3.3</version>
        </dependency>
    </dependencies>

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${jdk.version}</source>
                    <target>${jdk.version}</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.surefire</groupId>
                        <artifactId>surefire-junit47</artifactId>
                        <version>2.20</version>
                    </dependency>
                </dependencies>
            </plugin>

        </plugins>
    </build>

Любые идеи ?

заранее спасибо


person F. MAUPIN    schedule 09.05.2018    source источник
comment
Возможно ли, что у вас есть старые источники / ресурсы внутри каталога target/? Я бы попытался запустить его как mvn clean test, чтобы убедиться, что вы используете новейшие версии кода.   -  person Slava Semushin    schedule 09.05.2018
comment
Спасибо за ответ, но я уже несколько раз безуспешно выполнял mvn clean test - у меня такая же проблема   -  person F. MAUPIN    schedule 11.05.2018


Ответы (1)


Значением glue = { "src/test/java" } должно быть имя пакета, а не имя пути.

Если ваши классы определения шагов находятся в пакете steps (поэтому они хранятся в пути src/test/java/steps), значение должно быть glue = { "steps" }.

person SubOptimal    schedule 15.05.2018
comment
Не повезло даже после определения значения клея как пакета определения шага. Любое другое предложение, пожалуйста? - person GSN; 16.02.2021
comment
@GSN Трудно что-либо предложить, не зная, что вы пробовали и в чем на самом деле ошибка. Вы можете создать новый вопрос, содержащий MCVE. - person SubOptimal; 16.02.2021