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


当前回答

在Intellij中,进入“View -> Tool Windows ->”,选择“Maven Projects”。 在Lifecyle下拉菜单中,右键单击package ->,选择Create 'your-project [package]'…

输入这个值:package -Dmaven.test。skip=true -f命令行字段中的pom.xml。单击Apply,将出现Run Configurations下拉菜单以及您创建的自定义maven命令。

其他回答

运行maven

mvn package -Dmaven.test.skip

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

//@SpringBootTest

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

您可以使用任何maven目标,如包/清洁安装

解决方案:1(包目标)

mvn package -Dmaven.test.skip
mvn package -Dmaven.test.skip=true
mvn package -DskipTests

解决方案:2(清洁安装目标)

mvn clean install -Dmaven.test.skip
mvn clean install -Dmaven.test.skip=true
mvn clean install -DskipTests

解决方案:3(在pom.xml文件中)

您可以在pom文件中使用maven-跳过-测试,而无需提供 DskipTests、dmarvin .test.skip等属性

Pom.xml

<properties>
        <java.version>1.8</java.version>
        <maven.test.skip>true</maven.test.skip>
</properties>

以后可以使用maven命令:mvn clean安装/mvn包

参考:https://www.baeldung.com/maven-skipping-tests

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

mvn package -Dmaven.test.skip=true

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

在Intellij中,进入“View -> Tool Windows ->”,选择“Maven Projects”。 在Lifecyle下拉菜单中,右键单击package ->,选择Create 'your-project [package]'…

输入这个值:package -Dmaven.test。skip=true -f命令行字段中的pom.xml。单击Apply,将出现Run Configurations下拉菜单以及您创建的自定义maven命令。