0%

Maven 两种方式跳过编译 test

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

完结,撒花


参考链接