驅動模塊是用來模擬被測試模塊的上一級模塊,相當於被測模塊的主程序。它接收數據,將相關數據傳送給被測模塊,啟用被測模塊,並打印出相應的結果。
樁模塊(Stub)是指模擬被測試的模塊所調用的模塊,而不是軟件產品的組成的部分。
雖然各個模塊開發好了,在做單元測試時,也是需要寫驅動模塊與樁模塊的。因為做單元測試一個最重要的原則就是把被測試的單元與其他關聯模塊隔離開來進行測試。
測試代碼:
Public class DemoTest { public int demofunc() { int n1 = 4, n2 = 5; int a; a = sumFunc(n1, n2); System.out.println(a); retrun a; } //模塊A Public int sumFunc(int a, int b) { int c1, c2; c1 = factorial(a); c2 = factorial(b); return (c1 + c2); }//模塊B Public int factorial(int n) { Int rtn = 1; Int i; for (i = 1; i<= n; i++) { rtn *= i; } return (rtn); }//模塊C }
1、請分別對模塊A,B,C進行單元測試。
2、新建class,同時在該項目中的properties 中java build path ,add library-junit 。然后新建junit文件。
3、格式如下:
對模塊A進行單元測試時:
01.是否需要驅動模塊(是/否)?是
02. 如果需要,你編寫的驅動模塊(拷貝或截圖):
@Test public void testDemofunc() { body.demofunc(); assertEquals(144, body.demofunc()); }
如果需要,你編寫的樁模塊(拷貝或截圖):
public int sumFunc(int a, int b) { return (144); }//模塊B
03. 運行結果分別(截圖):
04. 模塊A是否被正確編碼(是/否):是
對模塊B進行單元測試時:
01. 是否需要驅動模塊(是/否)?是
02.如果需要,你編寫的驅動模塊(拷貝或截圖):
@Test public void testSumFunc() { assertEquals(144, body.sumFunc(4,5)); }
如果需要,你編寫的樁模塊(拷貝或截圖):
public int factorial(int n) { if(n==4) return (24); else return(120); }//模塊C
03. 運行結果分別(截圖):
04. 模塊B是否正確被編碼(是/否):是
對模塊C進行單元測試時:
01. 是否需要驅動模塊(是/否)?是
02. 如果需要,你編寫的驅動模塊(拷貝或截圖):
@Test public void testFactorial() { body.factorial(4); body.factorial(5); assertEquals(24, body.factorial(4)); assertEquals(120, body.factorial(5)); }
運行結果分別(截圖):
03. 模塊C是否正確被編碼(是/否):是