實驗報告java
實驗內容:git
1.Install Junit(4.12), Hamcrest(1.3) with Eclipsegithub
2.Install Eclemma with Eclipseeclipse
3.Write a java program for the triangle problem and test the program with Junit.測試
實驗步驟:ui
1.在eclipse中安裝Junit、Hamcrest和eclemma。spa
下載Junit-4.12.jar、hamcrest-core-1.3.jar、和hamcrest-library-1.3.jar。3d
打開eclipse,新建一個project,在eclipse的菜單欄中,選擇Project->Properties,在彈出的框的左側選擇「Java Bulid Path」,而後點擊「Add External JARs」,把下載的幾個包添加進來。如圖:rest
安裝eclemma:選擇eclipse菜單中的「Help」,選擇"Eclipse marketplace...",搜索eclemma,點擊install開始安裝。code
安裝完成後重啓eclipse。看到快捷按鈕中的,說明eclemma安裝成功。
2.程序代碼和測試代碼:可查看https://github.com/realpby/SWTesting/blob/master/First%20Lab
項目的目錄如圖:
triCalculate.java文件中是實現三角形問題的代碼。testCalculate.java中是測試程序的代碼。
triCalculate.java:
package triangle; public class triCalculate { private static int tri =0; public void triangle(int a,int b, int c) { if(a<=0||b<=0||c<=0) { tri=0; } else { if(((a+b)>c) && ((a+c)>b && (b+c)>a)) { if((a == b) &&(a == c)) { tri = 3;//equilateral } if((a==b && a!=c)||(a==c && a!=b)||(b==c && a!=b)) { tri = 2;//isosceles } if(a!=b && a!=c && b!=c) { tri = 1;//scalene } } else { tri=0;//三邊長度沒法構成三角形 } } } public int getReuslt(){ return tri; } public void clear(){ tri = 0; } }
testCalculate.java:
package triangle; import static org.junit.Assert.*; import org.junit.Test; public class testCalculate { private static triCalculate cal = new triCalculate(); @Test public void testTriangle(){ cal.triangle(-5, 5, 5); assertEquals(0, cal.getReuslt()); cal.triangle(5, 5, 5); assertEquals(3, cal.getReuslt()); cal.triangle(5, 5, 6); assertEquals(2, cal.getReuslt()); cal.triangle(3, 4, 5); assertEquals(1, cal.getReuslt()); cal.triangle(12, 5, 5); assertEquals(0, cal.getReuslt()); cal.triangle(10, 5, 5); assertEquals(0, cal.getReuslt()); cal.triangle(11, 5, 5); assertEquals(3, cal.getReuslt()); } }
3.三角問題測試的測試結果和覆蓋報告
截圖以下:
測試程序中(11,5,5)這組數據不爲3,因此出現一個failure。在上圖的右邊能夠看到Junit的報告,在下方能夠看到Coverage的報告。