我正设法把我的项目打包。但是,在执行打包之前,它会自动运行测试。测试在数据库中插入一些内容。这不是我想要的,我需要避免在打包应用程序时运行测试。有人知道如何运行没有测试的包吗?


当前回答

那些不想跳过测试用例的人。 就在主测试类注释或删除注释的上面:

//@SpringBootTest

然后,当Maven构建一个应用程序时,它仍然会在这个类中运行测试,但不会运行SpringBoot应用程序,因此不会测试到DB的连接,构建将成功。

其他回答

对于不感染maven测试的maven包:

<properties>
    <maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>

注意- dmarvin .test。跳过阻止Maven构建test-jar工件。

如果您想跳过测试,但按照正常的构建使用创建工件:

-Dmaven.test.skip.exec

只需提供下面提到的命令,它将忽略执行测试用例(但将编译测试代码):

mvn package -DskipTests

如果你不想设置命令行参数,你可以把这个插件配置添加到你的pom:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <skipTests>true</skipTests>
  </configuration>
</plugin>

你可以传递maven.test.skip标志作为JVM参数,当包阶段(以及默认生命周期中的前一个阶段)运行时跳过运行测试:

mvn package -Dmaven.test.skip=true

您还可以单独将skipTests标志传递给mvn可执行文件。如果您希望在POM中包含此信息,可以创建一个新的配置文件,在其中配置maven-surefire-plugin以跳过测试。