如何在Maven打包过程停止执行单元测试
1. 概述
通常跳过单元测试是一个坏的开发习惯。然而,在某些情况下也有例外情况;可能是当我们在开发新代码并希望运行测试无法通过或无法编译的中间构建时。
仅在这些情况下,我们可以跳过测试,以避免编译和运行它们的开销。当然,考虑到不运行测试会导致隐藏的程序BUG在开发过程中不被发现
在本文中,我们将介绍使用Maven跳过测试的各种命令和参数
2. Maven Lifecycle 生命周期中如何跳过单元测试
在讨论如何跳过测试的细节之前,我们必须了解测试是在什么时候编译或运行的。在关于Maven目标和阶段,需要深入了Maven生命周期的概念,但在本文中,重要的是要知道Maven可以:
- 忽略测试
- 编译测试
- 运行测试
在我们的示例中,我们将使用打包阶段作为列子,这包括编译和运行测试。本教案例中使用Maven Surefire插件作为编译打包插件
3. 使用命令行标志符
3.1 在编译阶段跳过测试
首先,让我们看一个无法编译的测试示例:
@Test
public void thisDoesntCompile() {
some bug ;
}
当我们运行command-line命令时:
mvn package
我们会在控制台中看到一个错误:
[INFO] -------------------------------------