我正设法把我的项目打包。但是,在执行打包之前,它会自动运行测试。测试在数据库中插入一些内容。这不是我想要的,我需要避免在打包应用程序时运行测试。有人知道如何运行没有测试的包吗?
当前回答
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!
其他回答
那些不想跳过测试用例的人。 就在主测试类注释或删除注释的上面:
//@SpringBootTest
然后,当Maven构建一个应用程序时,它仍然会在这个类中运行测试,但不会运行SpringBoot应用程序,因此不会测试到DB的连接,构建将成功。
mvn package -Dmaven.test.skip=true
你可以传递maven.test.skip标志作为JVM参数,当包阶段(以及默认生命周期中的前一个阶段)运行时跳过运行测试:
mvn package -Dmaven.test.skip=true
您还可以单独将skipTests标志传递给mvn可执行文件。如果您希望在POM中包含此信息,可以创建一个新的配置文件,在其中配置maven-surefire-plugin以跳过测试。
运行maven
mvn package -Dmaven.test.skip
您可以添加-DskipTests或-Dmaven.test。对于跳过测试的任何MVN命令,Skip =true。在你的情况下,它将如下所示:
mvn package -DskipTests
OR
mvn package -Dmaven.test.skip=true
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- 在Jar文件中运行类
- 带参数的可运行?
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作
- 在Java流是peek真的只是调试?
- Recyclerview不调用onCreateViewHolder
- 将JSON字符串转换为HashMap