亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

在Spring boot的項目中使用Junit進行單體測試

2024-07-14 08:43:23
字體:
來源:轉載
供稿:網友

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

pom設定

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

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

確認依賴

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

使用命令:mvn dependency:tree

結果信息:

[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已經整理完畢的內容,我們只需要寫TestCase即可。

創建測試目錄

根據慣例創建測試目錄如下:

liumiaocn:src liumiao$ lsmain testliumiaocn: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/springbootdemoliumiaocn:src liumiao$

創建測試用例

代碼示例

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)@SpringBootTestpublic class SpringbootdemoApplicationTests { @Test public void contextLoads() { }}liumiaocn:src liumiao$ 

代碼說明

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

執行測試

命令: mvn test

部分執行內容如下:

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

在實施的結果中可以看到運行起來的測試用例為1個,沒有失敗/跳過/出錯的。

小結

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美另类中文字幕| 亚洲精品suv精品一区二区| 一区二区三区视频在线| 成人免费网站在线观看| 日本一区二三区好的精华液| 亚洲精品第一国产综合精品| 久久99国产精品久久久久久久久| 清纯唯美日韩制服另类| 亚洲女人被黑人巨大进入| 亚洲成人精品久久久| 亚洲美女激情视频| 久久不射热爱视频精品| 欧美大秀在线观看| 久热在线中文字幕色999舞| 亚洲va欧美va国产综合久久| 91久久夜色精品国产网站| 国产精品一区二区三区免费视频| 97婷婷涩涩精品一区| 亚洲视屏在线播放| 亚洲午夜女主播在线直播| 精品国产一区av| 在线激情影院一区| 91国产精品91| 欧美巨乳在线观看| 日韩av电影在线网| 久久精品久久久久久| 日韩亚洲成人av在线| 欧美日韩精品在线观看| 亚洲免费福利视频| 国产视频在线观看一区二区| 亚洲区一区二区| 国产精品久久久久久久美男| 91av在线看| 狠狠色狠狠色综合日日五| 国产欧美最新羞羞视频在线观看| 91在线色戒在线| 亚洲视频在线看| 日韩欧美亚洲综合| 九色精品美女在线| 欧美日韩中文在线观看| 精品福利一区二区| 日韩小视频网址| 在线日韩第一页| 国产精品v片在线观看不卡| 国产精品∨欧美精品v日韩精品| 日韩av观看网址| 亚洲欧美激情四射在线日| 亚洲色图激情小说| 日本不卡免费高清视频| 亚洲欧美色婷婷| 欧美高清性猛交| 日韩精品免费观看| 97久久久久久| 色多多国产成人永久免费网站| 欧美激情区在线播放| 日韩电影在线观看永久视频免费网站| 大桥未久av一区二区三区| 欧美成人激情在线| 91亚洲精品一区二区| 国产精品丝袜高跟| 国产精品对白刺激| 日韩欧美精品网址| 国产精品日韩精品| 欧美亚洲另类在线| 国产午夜精品全部视频播放| 欧美多人爱爱视频网站| 日韩av电影院| 亚洲精品久久久久国产| 欧美尤物巨大精品爽| 久久综合伊人77777尤物| 欧美一区二区影院| 久久人人爽亚洲精品天堂| 欧美亚洲国产视频| 黑人巨大精品欧美一区二区免费| 992tv成人免费影院| 尤物yw午夜国产精品视频明星| 国产精品爽爽爽| 国产精品一区二区3区| 成人国产在线激情| 日韩成人av一区| 浅井舞香一区二区| 3344国产精品免费看| 亚洲欧美日韩高清| 欧美日韩国产在线| 日韩av高清不卡| 精品自在线视频| 久久久久99精品久久久久| 欧美日韩国产色视频| 5278欧美一区二区三区| 欧美俄罗斯性视频| 日韩av男人的天堂| 色爱av美腿丝袜综合粉嫩av| 国产精品极品美女粉嫩高清在线| 成人精品视频久久久久| 欧美另类xxx| 日韩精品极品毛片系列视频| 日韩中文字幕av| 国产精品久久久久久av下载红粉| 欧美电影在线观看完整版| 亚洲最新av网址| 91在线视频成人| 欧美成人黄色小视频| 国产日韩欧美视频| 欧美激情亚洲国产| 国产精品久久久久久久久久99| 国产精品一区二区三| 国产精品一区二区女厕厕| 97成人精品视频在线观看| 亚洲最大福利视频网站| 超碰日本道色综合久久综合| 亚洲欧美精品中文字幕在线| 色偷偷9999www| 都市激情亚洲色图| 日韩欧美极品在线观看| 国产亚洲美女久久| 精品无人区乱码1区2区3区在线| 欧美激情视频一区二区三区不卡| 国产精品igao视频| 亚洲电影免费观看高清完整版| 国产欧亚日韩视频| 国产精品日韩在线播放| 亚洲国产高潮在线观看| 岛国视频午夜一区免费在线观看| 日本欧美精品在线| 人人澡人人澡人人看欧美| 91视频免费在线| 国产精品露脸av在线| 久久久久久久国产| 亚洲男女自偷自拍图片另类| 日韩欧美中文字幕在线观看| 2019中文字幕免费视频| 久久亚洲精品一区| 亚洲精品一区二区三区婷婷月| 久久精品国产亚洲| 亚洲电影免费观看高清完整版| 欧洲成人性视频| 一区二区欧美久久| 色先锋资源久久综合5566| 欧美视频在线免费看| 欧美一级视频一区二区| 久久精品影视伊人网| 日韩精品免费看| 一区二区三区www| 亚洲精品中文字幕女同| 欧美日韩国产精品一区二区不卡中文| 成人免费看吃奶视频网站| 97涩涩爰在线观看亚洲| 欧美一区二粉嫩精品国产一线天| 中文字幕亚洲综合久久筱田步美| 亚洲aaa激情| 国产美女精品免费电影| 亚洲精品aⅴ中文字幕乱码| 91av在线播放视频| www.国产一区| 色琪琪综合男人的天堂aⅴ视频| 亚洲一区二区久久久久久久| 国产精品视频免费观看www| 亚洲成人激情图| 欧美综合一区第一页| 日本午夜在线亚洲.国产| 久久久国产在线视频| 国产精品1234| 亚洲一区二区免费| 奇门遁甲1982国语版免费观看高清|