
文章插圖
junit是一個優(yōu)秀的開源的java單元測試框架,也是目前比較流行且使用頻率比較高的一款,今天我們就來講講junit怎么用 。junit主要用于白盒測試、回歸測試、單元測試 。首先我們來新建工程,還是跟原來一樣建立 。建立之后看看pom.xml文件,已經(jīng)默認的加入了junit的依賴
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>看看我們建立的工程,idea都給我們生成了什么樣的目錄結(jié)構(gòu)我們的junit單元測試文件就放在test/java下面,我們先看一個基礎(chǔ)用法,在Lesson9ApplicationTest里面增加一個方法:
@SpringBootTest@RunWith(SpringRunner.class)//使用SpringRunner加載上下文public class Lesson9ApplicationTests {@Test//這個是一個test單元測試文件public void test1() {int num = new Integer(1);Assert.assertEquals(num,1);}}在這個方法的左邊會有響應(yīng)的圖標,第一個葉子樣的圖標標注這個是一個springboot的測試文件,在啟動的時候能看到我們正常啟動Application的banner圖標,說明加載了springboot的上下文 。我們直接在第二個圓形√加三角形的圖標點擊,就能運行了 。
junit連常用的注解
- @RunWith:標識為JUnit的運行環(huán)境;
- @SpringBootTest:獲取啟動類、加載配置,確定裝載Spring Boot;
- @Test:聲明需要測試的方法;
- @BeforeClass:針對所有測試,只執(zhí)行一次,且必須為static void;
- @AfterClass:針對所有測試,只執(zhí)行一次,且必須為static void;
- @Before:每個測試方法前都會執(zhí)行的方法;
- @After:每個測試方法前都會執(zhí)行的方法;
- @Ignore:忽略方法;
上面的代碼有一個陌生的Assert斷言,這個東西是干嘛的呢,簡單的可以理解為if條件 。斷言里面的值應(yīng)該返回什么樣的值 。Assert.assertEquals(num,1) 。
這個你可以理解為if(num==1)System.out.println(“ok”);但是這個方法有很多種重載的類
- assertTrue/False 判定第一個條件是true還是false
- assertEquals 接收兩個參數(shù),第一個是參數(shù)值,第二個是希望返回的值
- assertNotEquals 這個跟上一個方法恰好相反,相當于if(param!=param2)
- assertSame/NotSame 判定兩個變量是否指向同一個內(nèi)存地址
@Testpublic void test2() {List<String> list1 = Arrays.asList("a", "b");List<String> list2 = Arrays.asList("a", "b");List<String> list3 = list2;Assert.assertEquals(list1,list2);//通過Assert.assertEquals(list3,list2);//通過Assert.assertSame(list3,list2);//通過Assert.assertSame(list1,list2);//不通過,因為list1和list2分別指向不同的內(nèi)存地址}web模擬我們在@SpringBootTest注解上面加上使用隨機端口啟動@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)@Autowiredprivate TestRestTemplate testRestTemplate;@Testpublic void test3() throws URISyntaxException {String result = testRestTemplate.getForObject("/demo/test1", String.class);Assert.assertEquals(result,"hello junit test");}TestRestTemplate 是不是很熟悉,是的Springboot還為RestTemplate建立了專門的測試類 。注意:一定要使用隨機端口啟動,否則執(zhí)行失敗 。但是筆者感覺這個專門寫個測試類很麻煩,還不如直接使用postman測試,你們覺得呢?
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:
- pua男能進入正?;橐鰡?pua男會不會提到結(jié)婚
- 男生多大結(jié)婚算正常 晚婚有什么優(yōu)點
- 三叉神經(jīng)如何治
- 夢見撬門
- 經(jīng)常憋尿會引起膀胱炎嗎?
- 經(jīng)常上廁所憋不住尿是怎么回事?
- 憋尿小腹疼痛還有哪些危害?
- 結(jié)婚后遇到一個特別喜歡的人怎么辦 婚后喜歡別人正常嗎
- js外部引用的方法解說 js外部引用找不到方法
- 電腦制作excel表格全步驟 excel常用技巧教程
