最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Spring boot的項(xiàng)目中使用Junit進(jìn)行單體測試

 更新時(shí)間:2018年12月27日 10:20:53   作者:liumiaocn  
今天小編就為大家分享一篇關(guān)于spring boot使用Junit進(jìn)行測試,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

使用Junit或者TestNG可以進(jìn)行單體測試,這篇文章簡單說明一下如何在Spring boot的項(xiàng)目中使用Junit進(jìn)行單體測試。

pom設(shè)定

pom中需要添加spring-boot-starter-test

 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
 </dependency>

確認(rèn)依賴

使用Java進(jìn)行Unit測試至少需要Junit之類的測試框架,另外spring boot相關(guān)的測試還應(yīng)該有一些Mock相關(guān)的依賴,這個(gè)spring-boot-starter-test到底包含什么,可以使用maven dependency來進(jìn)行確認(rèn)一下。

使用命令:mvn dependency:tree

結(jié)果信息:

[INFO] --- maven-dependency-plugin:3.0.2:tree (default-cli) @ springbootdemo ---
[INFO] com.liumiaocn:springbootdemo:jar:0.0.1-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.0.6.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.0.6.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:2.0.6.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.0.6.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.0.6.RELEASE:compile
[INFO] | | | +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] | | | | \- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] | | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.10.0:compile
[INFO] | | | | \- org.apache.logging.log4j:log4j-api:jar:2.10.0:compile
[INFO] | | | \- org.slf4j:jul-to-slf4j:jar:1.7.25:compile
[INFO] | | +- javax.annotation:javax.annotation-api:jar:1.3.2:compile
[INFO] | | \- org.yaml:snakeyaml:jar:1.19:runtime
[INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.0.6.RELEASE:compile
[INFO] | | +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.7:compile
[INFO] | | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[INFO] | | | \- com.fasterxml.jackson.core:jackson-core:jar:2.9.7:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.7:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.7:compile
[INFO] | | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.7:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.0.6.RELEASE:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.34:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.34:compile
[INFO] | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.34:compile
[INFO] | +- org.hibernate.validator:hibernate-validator:jar:6.0.13.Final:compile
[INFO] | | +- javax.validation:validation-api:jar:2.0.1.Final:compile
[INFO] | | +- org.jboss.logging:jboss-logging:jar:3.3.2.Final:compile
[INFO] | | \- com.fasterxml:classmate:jar:1.3.4:compile
[INFO] | +- org.springframework:spring-web:jar:5.0.10.RELEASE:compile
[INFO] | | \- org.springframework:spring-beans:jar:5.0.10.RELEASE:compile
[INFO] | \- org.springframework:spring-webmvc:jar:5.0.10.RELEASE:compile
[INFO] |   +- org.springframework:spring-aop:jar:5.0.10.RELEASE:compile
[INFO] |   +- org.springframework:spring-context:jar:5.0.10.RELEASE:compile
[INFO] |   \- org.springframework:spring-expression:jar:5.0.10.RELEASE:compile
[INFO] \- org.springframework.boot:spring-boot-starter-test:jar:2.0.6.RELEASE:test
[INFO]  +- org.springframework.boot:spring-boot-test:jar:2.0.6.RELEASE:test
[INFO]  +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.0.6.RELEASE:test
[INFO]  +- com.jayway.jsonpath:json-path:jar:2.4.0:test
[INFO]  | +- net.minidev:json-smart:jar:2.3:test
[INFO]  | | \- net.minidev:accessors-smart:jar:1.2:test
[INFO]  | |   \- org.ow2.asm:asm:jar:5.0.4:test
[INFO]  | \- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO]  +- junit:junit:jar:4.12:test
[INFO]  +- org.assertj:assertj-core:jar:3.9.1:test
[INFO]  +- org.mockito:mockito-core:jar:2.15.0:test
[INFO]  | +- net.bytebuddy:byte-buddy:jar:1.7.11:test
[INFO]  | +- net.bytebuddy:byte-buddy-agent:jar:1.7.11:test
[INFO]  | \- org.objenesis:objenesis:jar:2.6:test
[INFO]  +- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO]  +- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO]  +- org.skyscreamer:jsonassert:jar:1.5.0:test
[INFO]  | \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
[INFO]  +- org.springframework:spring-core:jar:5.0.10.RELEASE:compile
[INFO]  | \- org.springframework:spring-jcl:jar:5.0.10.RELEASE:compile
[INFO]  +- org.springframework:spring-test:jar:5.0.10.RELEASE:test
[INFO]  \- org.xmlunit:xmlunit-core:jar:2.5.1:test

在org.springframework.boot:spring-boot-starter-test:jar:2.0.6.RELEASE:test下面我們看到了junit:junit:jar:4.12:test以及org.mockito:mockito-core:jar:2.15.0:test的信息,這是spring boot已經(jīng)整理完畢的內(nèi)容,我們只需要寫TestCase即可。

創(chuàng)建測試目錄

根據(jù)慣例創(chuàng)建測試目錄如下:

liumiaocn:src liumiao$ ls
main test
liumiaocn:src liumiao$ find . -type d
.
./test
./test/java
./test/java/com
./test/java/com/liumiaocn
./test/java/com/liumiaocn/springbootdemo
./main
./main/resources
./main/java
./main/java/com
./main/java/com/liumiaocn
./main/java/com/liumiaocn/springbootdemo
liumiaocn:src liumiao$

創(chuàng)建測試用例

代碼示例

liumiaocn:src liumiao$ cat ./test/java/com/liumiaocn/springbootdemo/SpringbootdemoApplicationTests.java 
package com.liumiaocn.springbootdemo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootdemoApplicationTests {
 @Test
 public void contextLoads() {
 }
}
liumiaocn:src liumiao$ 

代碼說明

  • COC:根據(jù)慣例進(jìn)行定義測試類的名稱
  • SpringBootTest注解:SpringBootTest是1.4之后引入的一個(gè)注解,使得springboot的測試變得更加方便
  • RunWith注解:使用了此注解的情況下,JUnit會(huì)調(diào)用RunWith中所指定的類。不同的框架提供相應(yīng)的Runner用于測試,比如Junit自己的JUnit4.class,在比如spring的SpringJUnit4ClassRunner或者SpringRunner,都可與之結(jié)合使用。
  • Test注解:Junit的常用注解之一,用于定義測試方法,不再贅述。

執(zhí)行測試

命令: mvn test

部分執(zhí)行內(nèi)容如下:

[INFO] Results:
[INFO] 
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

在實(shí)施的結(jié)果中可以看到運(yùn)行起來的測試用例為1個(gè),沒有失敗/跳過/出錯(cuò)的。

小結(jié)

通過spring-boot-starter-test的引入,在springboot中已經(jīng)做好所有單元測試的準(zhǔn)備,根據(jù)慣例的方式設(shè)定測試目錄和文件名稱,結(jié)合使用springboottest等注解,可以使用Junit對(duì)springboot的應(yīng)用進(jìn)行測試。最后使用mvn test即可運(yùn)行相關(guān)的測試用例并可確認(rèn)結(jié)果,后面將會(huì)進(jìn)一步說明如何與sonarqube以及jacoco等進(jìn)行結(jié)合確認(rèn)代碼掃描等。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • Java解析XML的四種方式

    Java解析XML的四種方式

    本文詳細(xì)講解了Java解析XML的四種方式,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 關(guān)于Mybatis的mapper接口函數(shù)重載問題

    關(guān)于Mybatis的mapper接口函數(shù)重載問題

    這篇文章主要介紹了關(guān)于Mybatis的mapper接口函數(shù)重載問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 解決Feign切換client到okhttp無法生效的坑(出現(xiàn)原因說明)

    解決Feign切換client到okhttp無法生效的坑(出現(xiàn)原因說明)

    這篇文章主要介紹了解決Feign切換client到okhttp無法生效的坑(出現(xiàn)原因說明),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • java中BigDecimal和0比較的示例代碼

    java中BigDecimal和0比較的示例代碼

    這篇文章主要介紹了java中BigDecimal和0比較的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Springcloud Alibaba超詳細(xì)使用詳解

    Springcloud Alibaba超詳細(xì)使用詳解

    SpringCloudAlibaba是一款優(yōu)秀的微服務(wù)架構(gòu),在市面上有著廣泛的應(yīng)用,這篇文章介紹了SpringCloudAlibaba的一些基本使用,適合初學(xué)者,希望能夠給大家?guī)韼椭?/div> 2024-08-08
  • 詳解SpringBoot構(gòu)建的Web項(xiàng)目如何在服務(wù)端校驗(yàn)表單輸入

    詳解SpringBoot構(gòu)建的Web項(xiàng)目如何在服務(wù)端校驗(yàn)表單輸入

    這篇文章主要介紹了詳解SpringBoot構(gòu)建的Web項(xiàng)目如何在服務(wù)端校驗(yàn)表單輸入,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Java?Spring的核心與設(shè)計(jì)思想你知道嗎

    Java?Spring的核心與設(shè)計(jì)思想你知道嗎

    這篇文章主要為大家詳細(xì)介紹了Java?Spring的核心與設(shè)計(jì)思想,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 利用Spring MVC+Mybatis實(shí)現(xiàn)Mysql分頁數(shù)據(jù)查詢的過程詳解

    利用Spring MVC+Mybatis實(shí)現(xiàn)Mysql分頁數(shù)據(jù)查詢的過程詳解

    這篇文章主要給大家介紹了關(guān)于利用Spring MVC+Mybatis實(shí)現(xiàn)Mysql分頁數(shù)據(jù)查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • 詳解SpringBoot中的統(tǒng)一功能處理的實(shí)現(xiàn)

    詳解SpringBoot中的統(tǒng)一功能處理的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了SpringBoot如何實(shí)現(xiàn)統(tǒng)一功能處理,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定借鑒價(jià)值,需要的可以參考一下
    2023-01-01
  • Spring體系的各種啟動(dòng)流程詳解

    Spring體系的各種啟動(dòng)流程詳解

    這篇文章主要給大家介紹了關(guān)于Spring體系的各種啟動(dòng)流程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論

麻城市| 奉新县| 武乡县| 池州市| 桑日县| 兴仁县| 溆浦县| 连江县| 进贤县| 秦皇岛市| 大名县| 肇源县| 壶关县| 交城县| 白水县| 澄迈县| 游戏| 宁阳县| 门头沟区| 深泽县| 崇礼县| 根河市| 栖霞市| 兴和县| 鹤庆县| 康乐县| 修文县| 望江县| 河间市| 荥经县| 江津市| 略阳县| 新余市| 满城县| 平罗县| 双流县| 泸定县| 平凉市| 大足县| 永丰县| 米脂县|