通过Maven运行cucumber特性并不是试图运行测试

通过Maven运行cucumber特性并不是试图运行测试,maven,junit,cucumber,Maven,Junit,Cucumber,我有一些Cumber特性,我可以通过IDE运行find,但现在我需要使用“mvn测试”命令通过命令行执行它们 我为junit jupiter api在pom文件中添加了一个新的依赖项,并为maven surefire插件添加了一个插件。我的pom贴在下面 但是在运行“mvn测试”之后,我可以看到maven只是编译而没有运行测试的结果。我已经把文本从CMD下面我的pom文件 <project> <modelVersion>4.0.0</modelVersion

我有一些Cumber特性,我可以通过IDE运行find,但现在我需要使用“mvn测试”命令通过命令行执行它们

我为junit jupiter api在pom文件中添加了一个新的依赖项,并为maven surefire插件添加了一个插件。我的pom贴在下面

但是在运行“mvn测试”之后,我可以看到maven只是编译而没有运行测试的结果。我已经把文本从CMD下面我的pom文件

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1</version>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java8</artifactId>
            <version>1.2.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.2.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-server</artifactId>
            <version>3.5.3</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>22.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlbeans</groupId>
            <artifactId>xmlbeans-xpath</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>6.5.2.jre9-preview</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.1.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.0</version>
                <dependencies>
                    <dependency>
                        <groupId>org.junit.platform</groupId>
                        <artifactId>junit-platform-surefire-provider</artifactId>
                        <version>1.1.0</version>
                    </dependency>
                    <dependency>
                        <groupId>org.junit.jupiter</groupId>
                        <artifactId>junit-jupiter-engine</artifactId>
                        <version>5.1.0</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
</project>

我自己解决了这个问题,做了更多的调查

我将pom.xml中的插件条目更改为:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.0</version>
            <configuration>
                <includes>
                    <exclude>**/*MyRunnerFileNameHere.java</exclude>
                </includes>
            </configuration>
        </plugin>

org.apache.maven.plugins
maven surefire插件
2.22.0
**/*MyRunnerFileNameHere.java

如果导入junit 4,将忽略使用jupiter(junit 5)的所有测试。您可以通过在junit的每个版本中添加两个类(通过在每个类上添加每个版本的@test)来测试它。只有一个版本将运行

如果您想使用JUnit5,请不要导入JUnit4,而是添加junit vintage引擎。黄瓜会用的

当然不是问题

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.0</version>
            <configuration>
                <includes>
                    <exclude>**/*MyRunnerFileNameHere.java</exclude>
                </includes>
            </configuration>
        </plugin>