Heim  >  Artikel  >  Java  >  So überspringen Sie Tests in der Springboot Maven-Verpackung

So überspringen Sie Tests in der Springboot Maven-Verpackung

WBOY
WBOYnach vorne
2023-05-31 08:06:271466Durchsuche

Wenn bei der Maven-Verpackung ein Unit-Test-Fehler auftritt, müssen Sie den Unit-Test überspringen. Um das Packen zu beschleunigen, muss auch auf Unit-Tests verzichtet werden.

Fünf Möglichkeiten, Unit-Tests mit Maven zu überspringen

Um die Springboot-Anwendung in einer formalen Umgebung auszuführen, müssen Sie sie zuerst packen und dann java -jar xx.jar verwenden, um unser Projekt auszuführen. java -jar xx.jar就能运行我们的项目。

So überspringen Sie Tests in der Springboot Maven-Verpackung

我们平时使用的在开发中使用的是开发或测试的数据库,和生产上面的一般是隔离的,意味着打包的时候需要激活生产的配置文件,但是我们不一定有访问生产库的权限,此时我们直接打包就会出现问题。当我们直接点击上面的package的时候他会激活单元测试,需要测试通过以后才能打包,但是很显然测是不能通过的,因为我激活了生产的配置但是我并没有访问上产库的权限,此时就会陷入一直打包却打不完的感觉,这就需要我们打包时跳过测试。那怎么跳过测试呢?下面我们探讨一下此问题的解决方法:

1、命令行方式跳过测试

我们可以通过使用命令将项目打包,添加跳过测试的命令就可以了,可以用两种命令来跳过测试:

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 跳过单元测试,但是会继续编译。

2、pom.xml中配置跳过测试

可以在 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>

3、idea直接配置

Maven命令栏的工具栏有下图中的图标,这个图标就是 Skip Tests。点击选中,再用 LifeStyle 中的打包就会跳过测试。注:因为我的IDEA是2022的版本,图标可能和以前的版本有些许区别,以前的版本应该是一个蓝色的圆圈里面带一个闪电。

So überspringen Sie Tests in der Springboot Maven-Verpackung

4、添加Maven配置参数

打开配置,找到 Build,Exxcution,Deployment –> Maven Tools –> Maven –> Runner,在 VM option 中添加 -Dmaven.test.skip=true 或者 -DskipTests=true

So überspringen Sie Tests in der Springboot Maven-Verpackung

So überspringen Sie Tests in der Springboot Maven-VerpackungWas wir normalerweise tun Die in der Entwicklung verwendete Datenbank ist im Allgemeinen von der Produktion isoliert. Dies bedeutet, dass die Produktionskonfigurationsdatei beim Packen aktiviert werden muss, wir jedoch nicht unbedingt über die Berechtigung verfügen, auf die Produktionsbibliothek zuzugreifen. Wir können es direkt verpacken. Es werden Probleme auftreten. Wenn wir direkt auf das Paket oben klicken, wird der Unit-Test aktiviert. Der Test muss bestanden werden, bevor er gepackt werden kann. Der Test kann jedoch nicht bestanden werden, da ich die Produktionskonfiguration aktiviert habe, aber keine Zugriffsberechtigung habe In der Produktionsbibliothek haben Sie manchmal das Gefühl, dass Sie mit dem Verpacken, aber nie fertig sind, was dazu führt, dass wir beim Verpacken auf Tests verzichten müssen. Wie kann man den Test überspringen? Lassen Sie uns die Lösung für dieses Problem besprechen:

1. Überspringen Sie das Testen über die Befehlszeile.

Wir können das Projekt mithilfe von Befehlen packen und einfach einen Befehl zum Überspringen des Tests hinzufügen mvn package -DskipTests=true

  • -DskipTests=true führt den Testfall nicht aus, aber Kompilieren Sie die Testfallklasse, um die entsprechende Klassendatei unter Ziel/Testklassen zu generieren.

So überspringen Sie Tests in der Springboot Maven-Verpackungmvn package -Dmaven.test.skip=true
  • 🎜-Dmaven. test.skip=true führt den Testfall nicht aus und kompiliert die Testfallklasse nicht. 🎜
🎜Wenn mvn package zum Kompilieren und Verpacken verwendet wird, führt Maven die JUnit-Testfälle in src/test/java aus, manchmal für To Wenn Sie Tests überspringen, werden die Parameter -DskipTests=true und -Dmaven.test.skip=true verwendet. Der Hauptunterschied zwischen diesen beiden Parametern ist: 🎜🎜Verwenden Sie -Dmaven.test.skip=true, überspringt nicht nur die Ausführung von Komponententests, sondern auch die Kompilierung von Testcode;
Verwenden Sie -DskipTests=true zum Überspringen Unit-Tests, aber die Kompilierung wird fortgesetzt. 🎜🎜2. Konfigurieren Sie das Überspringen von Tests in pom.xml.🎜🎜Sie können die folgende Konfiguration in pom.xml hinzufügen, um Tests zu überspringen: 🎜rrreee🎜3. Idea Direct-Konfiguration: Die Symbolleiste der Maven-Befehlsleiste hat das Symbol im Bild Unten ist dieses Symbol Tests überspringen. Klicken Sie zum Auswählen und verwenden Sie dann die Verpackung in LifeStyle, um den Test zu überspringen. Hinweis: Da es sich bei meiner IDEA um die Version 2022 handelt, unterscheidet sich das Symbol möglicherweise geringfügig von der vorherigen Version. Die vorherige Version sollte ein blauer Kreis mit einem Blitz darin sein. 🎜🎜So überspringen Sie Tests in der Springboot Maven-Verpackung🎜🎜4 Maven-Konfigurationsparameter 🎜🎜Öffnen Sie die Konfiguration, suchen Sie nach 🎜Build, Exxcution, Deployment –> VM-Optionscode> oder -DskipTests=true können Sie Tests während des Packens überspringen. 🎜🎜🎜🎜🎜5. Öffnen Sie die Konfiguration, indem Sie die Einstellungen ändern 🎜🎜, suchen Sie nach 🎜Build, Exxcution, Deployment –> Maven > Runner🎜 und aktivieren Sie die Option „Test überspringen“. . 🎜🎜🎜🎜

Das obige ist der detaillierte Inhalt vonSo überspringen Sie Tests in der Springboot Maven-Verpackung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen