Maven 패키징에서 단위 테스트가 실패하는 경우 단위 테스트를 건너뛰어야 합니다. 패키징 속도를 높이려면 단위 테스트도 건너뛰어야 합니다.
정식 환경에서 Springboot 애플리케이션을 실행하려면 먼저 이를 패키징한 다음 java -jar xx.jar
를 사용하여 프로젝트를 실행해야 합니다. java -jar xx.jar
就能运行我们的项目。
我们平时使用的在开发中使用的是开发或测试的数据库,和生产上面的一般是隔离的,意味着打包的时候需要激活生产的配置文件,但是我们不一定有访问生产库的权限,此时我们直接打包就会出现问题。当我们直接点击上面的package的时候他会激活单元测试,需要测试通过以后才能打包,但是很显然测是不能通过的,因为我激活了生产的配置但是我并没有访问上产库的权限,此时就会陷入一直打包却打不完的感觉,这就需要我们打包时跳过测试。那怎么跳过测试呢?下面我们探讨一下此问题的解决方法:
我们可以通过使用命令将项目打包,添加跳过测试的命令就可以了,可以用两种命令来跳过测试:
mvn package -DskipTests=true
-DskipTests=true
不执行测试用例,但编译测试用例类生成相应的class文件至 target/test-classes 下。
mvn package -Dmaven.test.skip=true
-Dmaven.test.skip=true
不执行测试用例,也不编译测试用例类。
在使用 mvn package
进行编译、打包时,Maven会执行 src/test/java
中的 JUnit 测试用例,有时为了跳过测试,会使用参数 -DskipTests=true
和 -Dmaven.test.skip=true
,这两个参数的主要区别是:
使用 -Dmaven.test.skip=true
,不但跳过单元测试的运行,也跳过测试代码的编译;
使用 -DskipTests=true
跳过单元测试,但是会继续编译。
可以在 pom.xml 中添加如下配置来跳过测试:
<build> <plugins> <!-- maven 打包时跳过测试 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </build>
Maven命令栏的工具栏有下图中的图标,这个图标就是 Skip Tests
。点击选中,再用 LifeStyle 中的打包就会跳过测试。注:因为我的IDEA是2022的版本,图标可能和以前的版本有些许区别,以前的版本应该是一个蓝色的圆圈里面带一个闪电。
打开配置,找到 Build,Exxcution,Deployment –> Maven Tools –> Maven –> Runner,在 VM option 中添加 -Dmaven.test.skip=true
或者 -DskipTests=true
우리가 일반적으로 하는 일 use 개발에 사용되는 데이터베이스는 개발 또는 테스트용이므로 일반적으로 프로덕션과 격리되어 있습니다. 즉, 패키징 시 프로덕션 구성 파일을 활성화해야 하지만 이때 반드시 프로덕션 라이브러리에 액세스할 수 있는 권한이 있는 것은 아닙니다. 우리는 그것을 직접 포장할 수 있습니다. 문제가 발생할 것입니다. 위의 패키지를 직접 클릭하면 단위 테스트가 활성화됩니다. 테스트를 통과해야 패키징할 수 있습니다. 하지만 프로덕션 구성을 활성화했지만 액세스 권한이 없기 때문에 분명히 테스트를 통과할 수 없습니다. 때때로 패키징을 완료했지만 완료되지 않은 것처럼 느껴질 수 있으므로 패키징할 때 테스트를 건너뛰어야 합니다. 그렇다면 테스트를 건너 뛰는 방법은 무엇입니까? 이 문제에 대한 해결책을 논의해 보겠습니다.
명령을 사용하여 프로젝트를 패키징하고 테스트를 건너뛰는 데 사용할 수 있는 명령이 두 가지 있습니다. mvn package -DskipTests=true
-DskipTests=true
는 테스트 사례를 실행하지 않지만, 테스트 케이스 클래스를 컴파일하여 target/test-classes 아래에 해당 클래스 파일을 생성합니다.
mvn 패키지 -Dmaven.test.skip=true
-Dmaven. test.skip=true
는 테스트 케이스를 실행하지 않으며 테스트 케이스 클래스를 컴파일하지 않습니다. 🎜mvn 패키지
를 사용할 때 Maven은 src/test/java
에서 JUnit 테스트 사례를 실행하며 때로는 To를 위해 실행합니다. 테스트를 건너뛰면 -DskipTests=true
및 -Dmaven.test.skip=true
매개변수가 사용됩니다. 이 두 매개변수의 주요 차이점은 다음과 같습니다. 🎜🎜 -Dmaven.test.skip=true
, 단위 테스트 실행을 건너뛸 뿐만 아니라 테스트 코드 컴파일도 건너뜁니다.-DskipTests=true
를 사용하세요. 단위 테스트이지만 컴파일은 계속됩니다. 🎜🎜2. pom.xml에서 건너뛰기 테스트 구성🎜🎜 테스트를 건너뛰려면 pom.xml에 다음 구성을 추가할 수 있습니다. 🎜rrreee🎜3. Idea 직접 구성🎜🎜Maven 명령 모음의 도구 모음에는 그림에 아이콘이 있습니다. 아래에서 이 아이콘은 테스트 건너뛰기
입니다. 테스트를 건너뛰려면 클릭하여 선택한 다음 LifeStyle에서 패키징을 사용하세요. 참고: 내 IDEA는 2022 버전이므로 아이콘이 이전 버전과 약간 다를 수 있습니다. 이전 버전은 내부에 번개 모양이 있는 파란색 원이어야 합니다. 🎜🎜-Dmaven.test.skip=true를 추가합니다. VM 옵션 코드> 또는 <code> -DskipTests=true
를 사용하면 패키징 중에 테스트를 건너뛸 수 있습니다. 🎜🎜🎜🎜🎜5 설정을 변경하여 구성을 열고 🎜Build, Exxcution, 배포 –> Maven 도구 –> Maven Runner🎜를 찾아 속성에서 테스트 건너뛰기를 확인하세요. . 🎜🎜🎜🎜위 내용은 Springboot Maven 패키징에서 테스트를 건너뛰는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!