欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Maven打包跳過測(cè)試的5種方式總結(jié)

 更新時(shí)間:2023年01月30日 09:56:43   作者:高山上的七云  
使用Maven打包的時(shí)候,可能會(huì)因?yàn)閱卧獪y(cè)試打包失敗,這時(shí)候就需要跳過單元測(cè)試,下面這篇文章主要給大家介紹了關(guān)于Maven打包跳過測(cè)試的5種方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

今天工作中遇見一個(gè)小問題,正好晚上沒什么安排,而且也很久沒寫博客了,我就想著將問題記錄一下。

平時(shí)開發(fā)時(shí)的工作的話之主要負(fù)責(zé)寫代碼就行了,什么發(fā)布項(xiàng)目啊,好吧不是我們干的事。在我們的了解中打包發(fā)布項(xiàng)目應(yīng)該不是一個(gè)困難的問題。對(duì),最簡單的方法就行使用直接使用maven插件打包,甚至我們都不需要知道他是怎么實(shí)現(xiàn)的,插件能幫我們將項(xiàng)目打包為一個(gè)jar包,然后使用java -jar xx.jar就能運(yùn)行我們的項(xiàng)目。

我們平時(shí)使用的在開發(fā)中使用的是開發(fā)或測(cè)試的數(shù)據(jù)庫,和生產(chǎn)上面的一般是隔離的,意味著打包的時(shí)候需要激活生產(chǎn)的配置文件,但是我們不一定有訪問生產(chǎn)庫的權(quán)限,此時(shí)我們直接打包就會(huì)出現(xiàn)問題。當(dāng)我們直接點(diǎn)擊上面的package的時(shí)候他會(huì)激活單元測(cè)試,需要測(cè)試通過以后才能打包,但是很顯然測(cè)是不能通過的,因?yàn)槲壹せ盍松a(chǎn)的配置但是我并沒有訪問上產(chǎn)庫的權(quán)限,此時(shí)就會(huì)陷入一直打包卻打不完的感覺,這就需要我們打包時(shí)跳過測(cè)試。那怎么跳過測(cè)試呢?

為什么打包時(shí)要執(zhí)行單元測(cè)試呢?【這不是我們的重點(diǎn),那我們就簡單講講,需要深入了解的自行查閱相關(guān)資料?!看藭r(shí)就涉及到 Maven 的生命周期,在 Maven 的 default 生命周期中共有 23 個(gè)階段,每個(gè)生命周期中的后面的階段會(huì)依賴于前面的階段,當(dāng)執(zhí)行某個(gè)階段的時(shí)候,會(huì)先執(zhí)行其前面的階段。在 default 生命周期中 package 階段不是第一個(gè)階段,因此也需要依賴于前面的階段的執(zhí)行,正好 test 階段【測(cè)試:使用合適的單元測(cè)試框架運(yùn)行測(cè)試(Juint是其中之一)?!烤褪瞧淝懊骐A段之一,此時(shí)就會(huì)必須先通過 test 階段才會(huì)到 package 階段【 打包:將編譯后的代碼打包成可分發(fā)格式的文件,比如JAR、WAR…】。

我們因?yàn)闆]有訪問生產(chǎn)庫的權(quán)限,此時(shí)連 test 階段都不能通過,那就不會(huì)到達(dá) package 這個(gè)階段。那有什么解決方法呢?下面我們探討一下此問題的解決方法:

1、命令行方式跳過測(cè)試

我們可以通過使用命令將項(xiàng)目打包,添加跳過測(cè)試的命令就可以了,可以用兩種命令來跳過測(cè)試:

  • mvn package -DskipTests=true
    • -DskipTests=true,不執(zhí)行測(cè)試用例,但編譯測(cè)試用例類生成相應(yīng)的class文件至 target/test-classes 下。
  • mvn package -Dmaven.test.skip=true
    • -Dmaven.test.skip=true,不執(zhí)行測(cè)試用例,也不編譯測(cè)試用例類。

在使用 mvn package 進(jìn)行編譯、打包時(shí),Maven會(huì)執(zhí)行 src/test/java 中的 JUnit 測(cè)試用例,有時(shí)為了跳過測(cè)試,會(huì)使用參數(shù) -DskipTests=true-Dmaven.test.skip=true,這兩個(gè)參數(shù)的主要區(qū)別是:

  • 使用 -Dmaven.test.skip=true,不但跳過單元測(cè)試的運(yùn)行,也跳過測(cè)試代碼的編譯;
  • 使用 -DskipTests=true 跳過單元測(cè)試,但是會(huì)繼續(xù)編譯。

2、pom.xml中配置跳過測(cè)試

可以在 pom.xml 中添加如下配置來跳過測(cè)試:

<build>
    <plugins>
        <!-- maven 打包時(shí)跳過測(cè)試 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>
</build>

3、直接配置

Maven命令欄的工具欄有下圖中的圖標(biāo),這個(gè)圖標(biāo)就是 Skip Tests。點(diǎn)擊選中,再用 LifeStyle 中的打包就會(huì)跳過測(cè)試。注:因?yàn)槲业腎DEA是2022的版本,圖標(biāo)可能和以前的版本有些許區(qū)別,以前的版本應(yīng)該是一個(gè)藍(lán)色的圓圈里面帶一個(gè)閃電。

4、添加Maven配置參數(shù)

打開配置,找到 Build,Exxcution,Deployment –> Maven Tools –> Maven –> Runner,在 VM option 中添加 -Dmaven.test.skip=true 或者 -DskipTests=true,就能在打包是跳過測(cè)試。

5、通過更改設(shè)置

打開配置,找到 Build,Exxcution,Deployment –> Maven Tools –> Maven –> Runner,在 Properties 中勾選 Skip Test 選項(xiàng)。

以上就是我查閱資料之后找到是幾種打包跳過測(cè)試的方式。

參考

Maven打包跳過測(cè)試的三種方法

總結(jié)

到此這篇關(guān)于Maven打包跳過測(cè)試的5種方式的文章就介紹到這了,更多相關(guān)Maven打包跳過測(cè)試內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論