Maven 跳过单元测试 -maven.test.skip 和 skipTests 的区别
前言
使用 IDEA 自带的 Maven 插件编译打包遇到没有跳过testCompile的情况,
可我明明设置了跳过test
不了解的可以参见IDEA中Maven打包时如何跳过测试
这很不科学,肯定有种猫腻,想起《误杀》中的台词”当你看过一千部电影,这世上就没什么离奇事”
优先解决问题,既然 IDEA 不行就换命令试试,结果通过命令知道了大概了
命令
两种方式跳过编译 test
- mvn clean install -DskipTests
- mvn clean install -Dmaven.test.skip=true
-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下
-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类
这回知道了。使用maven.test.skip,不但跳过单元测试的运行,也跳过测试代码的编译。使用 mvn package -DskipTests 跳过单元测试,但是会继续编译。
如果没时间修改单元测试的bug,或者单元测试编译错误,使用第二个,不要用第一个
使用 -Dmaven.test.skip=true 美滋滋解决问题了
回顾
了解背景后猜测 IDEA 的跳过test 其实是使用 skipTests 方式,根据图二中的一个红框的tip可以知道的确是使用的skipTest
完结,撒花
参考链接