詳解Java之Junit入門案例(程式碼)
直接上程式碼示範:
public class ArrayList implements List { private int size = 0; private Object[] elementData = new Object[100]; public void add(Object o){ } public void add(int index, Object o){ } public Object get(int index){ return Object; } public Object remove(int index){ return Object; } public int size(){ return -1; } }
現在要測試的話怎麼辦呢?這時候Junit利器就可以用到了;
首先我們先建立一個Junit類別:
如果你直接在想要測試的class上右鍵的話可以直接勾選測試要方法如:
接著就是直接開始在裡面加方法了:
public class ArrayListTest { // 这里的@Test是必须的注释,就是告诉JUnit这里就是一个测试方法 @Test public void testGet() { static Object[] Data = new Object[]{1,2,3,4,5,6,7,8}; ArrayList test; // 添加数据到test中 ......... ......... //测试test 这里要说一下, //出了要assertEqual 判断值是否相等的话,其实还有assertFalse,assertNull等方法判断 assertEqual(Data[1],test.get(1)); } }
對,沒錯就是這麼簡單。如果你的類別沒問題的話,應該可以返回這樣的圖:
但是,有沒有發現,如果你在測試其他方法,如add,remove的話,都是要有一個預先填入了資料的ArrayList吧。難道我每次進行測試都需要執行這些嗎?
這樣就太冗餘了。這時候,JUnit裡自有高招:
public class ArrayListTest { static Object[] Data = new Object[]{1,2,3,4,5,6,7,8}; ArrayList test; //这个before注释可以理解成: //在执行每个@Test修饰的方法前都先要执行这个setUp,等于前置条件一样 @Before public void setUp() throws Exception{ test = new ArrayList(); for(Object data: Data){ test.add(data); } } //test function ; }
現在的話好像差不多行了,但是當有多個測試類別的時候怎麼辦,逐個運行?這不就跟創建main方法測試那樣差不多嗎?
所以Junit又提供了一個測試套件組:
//你现在有3个测试类 public class Test1{ @Test public void test(){ //...Test1 } } public class Test2{ @Test public void test(){ //...Test2 } } public class Test3{ @Test public void test(){ //...Test3 } } //创建一个测试套件类(测试套件可以互相叠加的): @RunWith(Suite.class) @Suite.SuiteClasses({test1.class,test2.class,test3.class }) public class SuitTest { //必须是public 修饰的,空类 }
除了上面寫的註解其實還有蠻多的,只是還沒用到就先不說了。 (太渣用不到這些,逃。),我就貼出來讓看官們瞅瞅先:
也就說這麼多吧,僅是入門而已。並沒有什麼高深的技術啊,思想什麼的。簡簡單單: -/。
在最後想分享一句話:
測試案例是用來證明你是沒有錯的,而不是證明你是對的。
我個人覺得這話真的是說到心坎裡去了。
以上是圖文Java之Junit入門案例(程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3漢化版
中文版,非常好用

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具