您好,登錄后才能下訂單哦!
本篇內容主要講解“JUnit怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JUnit怎么使用”吧!
Junit框架:
Junit是開源的java單元測試框架。
今天我們來介紹一下junit5,junit5由三個不同的子項目模塊組成,包括Junit Platform、Junit Jupiter和Junit Vintage。它支持Java8以及以上版本,編輯器我在這使用的是IntelliJ IDEA,只需要查看最后結果,就知道整個項目的方法接口是否通暢。每個單元測試用例相對獨立,由Junit 啟動,自動調用。不需要添加額外的調用語句。
添加,刪除,屏蔽測試方法,不影響其他的測試方法。
Junit主要是用于做白盒測試,白盒測試操作步驟如下:
1、測試計劃階段:根據需求說明書,制定測試進度。
2、測試設計階段:根據代碼的功能,人工設計測試用例進行基本功能測試。依據程序設計說明書,按照一定規范化的方法進行軟件結構劃分和設計測試用例。
3、測試執行階段:輸入測試用例,得到測試結果。
4、測試總結階段:對比測試的結果和代碼的預期結果,分析錯誤原因,找到并解決錯誤。
接下來我們介紹一下里面的注解:
@Test:表示測試方法,不用聲明任何屬性。
@ParameterizedTest:表示方法是測試方法,此外該注釋還可以讓一個測試方法使用不同的人參與多次運行。
@RepeatedTest:該注釋可以讓測試方法自定義重復運行次數。
@TestFactory:表示一個方法是基于數據驅動的動態測試數據源。
@Displayname:聲明測試類或測試方法的自定義顯示名稱。
@BeforeEach:表示在每一個測試方法運行前,都運行該指定方法。
@AfterEach:表示在每一個測試方法運行后,都運行該指定方法。
@BeforeAll:在當前類的所有測試方法之前執行,此方法可以包含一些初始化代碼。
@AfterAll:在當前類的所有測試方法之后執行。
@Disabled:注明一個測試類或方法無效。
斷言:
Fail:斷言測試失敗。
AssertTrue/asserFalse:斷言真或假。
AssertNull/assertNotNull:斷言為空或不為空。
assertEquals/assertNotEquals:斷言兩個值相不相等。
AssertArrayEquals:斷言數組元素全部相同。
AssertSame/assertNotSame:斷言兩個對像是否相同。
AssertThrows/assertDoesNotThrow:斷言是否拋出異常。
AssertAll:斷言多個條件均滿足;
下面我們創建一個類,創建幾個方法:
package test;//包機制 import java.lang.reflect.Array; public class MixedOperation { public int mixeOperation(int x,int y){ return division((x+y),y); } public int division(int x,int y){ int result=(x/y); return result; } public static void main(String[] args) { MixedOperation mixedOperation=new MixedOperation(); System.out.println(mixedOperation.mixeOperation(5,1)); } }
我們創建了一個名為MixedOperation的類;
package test; import org.junit.jupiter.api.*; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; public class MixedOperationTest { private MixedOperation mixedOperation; @BeforeEach public void init(){ mixedOperation=new MixedOperation(); } @Test public void successTest(){ System.out.println("run a test:x=4,y=2"); int result=mixedOperation.mixeOperation(4,2); Assertions.assertEquals(3,result); } /* @DisplayName("失敗") public void errorTest(){` System.out.println("run a test:x=4,y=0"); ArithmeticException exception=new ArithmeticException( ArithmeticException.class -> { mixedOperation.mixeOperation(4, 0); } ); }*/ @Disabled("參數") @Test @DisplayName("參數") @ParameterizedTest @CsvSource({"6,3,3","5,2,3","6,2,4"}) public void caTest(int x,int y,int excepted){ System.out.println("run a test :x="+x+"y="+y); System.out.println(excepted); int t= mixedOperation.mixeOperation(x,y); Assertions.assertEquals(excepted,t); } @Disabled @Test public void Next(){ System.out.println("拋出一個異常"); System.out.println(Assertions.assertThrows(IllegalArgumentException.class, () ->mixedOperation.mixeOperation(2,0))); } @Disabled @Test void error(){ Assertions.assertThrows(Exception.class,()->{Assertions.assertEquals(1,0);}); } @Test void sure(){ int result=mixedOperation.mixeOperation(4,2); Assertions.assertTrue(3==result);//斷言相等 } }
這是我們創建一個名為MixedOperationTest的測試類;
到此,相信大家對“JUnit怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。