我正设法把我的项目打包。但是,在执行打包之前,它会自动运行测试。测试在数据库中插入一些内容。这不是我想要的,我需要避免在打包应用程序时运行测试。有人知道如何运行没有测试的包吗?
当前回答
您可以添加-DskipTests或-Dmaven.test。对于跳过测试的任何MVN命令,Skip =true。在你的情况下,它将如下所示:
mvn package -DskipTests
OR
mvn package -Dmaven.test.skip=true
其他回答
You are, obviously, doing it the wrong way. Testing is an important part of pre-packaging. You shouldn't ignore or skip it, but rather do it the right way. Try changing the database to which it inserts the data(like test_db). It may take a while to set it up. And to make sure this database can be used forever, you should delete all the data by the end of tests. JUnit4 has annotations which make it easy for you. Use @Before, @After @Test annotations for the right methods. You need to spend sometime on it, but it will be worth it!
如果你在Windows Powershell中尝试这个,你会得到这个错误:
[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format...
这样做的原因是,在Powershell中“-”有特殊的含义,它会导致maven的问题。
解决方案是在它前面加上一个反撇号('),就像这样..
mvn `-Dmaven.test.skip=true install
参考:http://kuniganotas.wordpress.com/2011/08/12/invalid-task-test-skiptrue-you-must-specify-a-valid-lifecycle-phase/
那些不想跳过测试用例的人。 就在主测试类注释或删除注释的上面:
//@SpringBootTest
然后,当Maven构建一个应用程序时,它仍然会在这个类中运行测试,但不会运行SpringBoot应用程序,因此不会测试到DB的连接,构建将成功。
你只需要提供
-Dmaven.test.skip
你不再需要append =true。
进行maven构建和跳过测试的一个简写是:
mvn 全新安装 -DskipTests
推荐文章
- Java中的@UniqueConstraint注释
- 如何在清洁模式下运行eclipse ?如果我们这样做会发生什么?
- 获取java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory异常
- Java中的正则表达式命名组
- c#和Java的主要区别是什么?
- 什么是NullPointerException,我如何修复它?
- 在Java中使用“final”修饰符
- 无法在Flutter上找到捆绑的Java版本
- 如何在Kotlin解析JSON ?
- 如何在新的材质主题中改变背面箭头的颜色?
- 如何设置OkHttp连接超时
- 用于桌面应用程序的Swing vs JavaFx
- 为什么这个Java程序会终止,尽管它显然不应该(也没有)终止?
- Maven project.build.directory
- 使用split("|")按管道符号拆分Java字符串