[软件测试基础1](上机实验:三角形的判断)
一.junit、hamcrest和eclemma的安装:
1.junit和hamcrest在新建了junitHw1工程后在build path里通过add external jars添加junit-4.12.jar和hamcrest-all-1.3.jar。
2.安装eclemma
二.编写Triangle以及Triangletest:
1.主要代码(判断三角形性质)
1 package example; 2 3 /** 4 * Created by Ev_Eraser on 2016/3/18. 5 */ 6 public class Myclass { 7 public String triangle(int a,int b,int c) { 8 if(a + b < c || a + c < b || b+ c < a) 9 return "notTriangle"; 10 if(a == b && b == c) 11 return "isosceles"; 12 if(a == b || b == c || a == c) 13 return "equilateral"; 14 else 15 return "scalene"; 16 } 17 }
2.测试
package example; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import static org.junit.Assert.*; @RunWith(Parameterized.class) public class MyclassTest { private Myclass myClass; private int input1; private int input2; private int input3; private String expected; public MyclassTest(int input1, int input2,int input3,String expected){ this.input1 = input1; this.input2 = input2; this.input3 = input3; this.expected = expected; } @Before public void setUp() throws Exception { myClass = new Myclass(); } @Parameterized.Parameters public static Collection<Object[]> getData(){ return Arrays.asList(new Object[][]{ {2,2,2,"isosceles"}, {2,2,3,"equilateral"}, {2,4,3,"scalene"}, {2,9,2,"notTriangle"} }); } // @After // public void tearDown() throws Exception { // // } @Test public void testTriangle() throws Exception { assertEquals(this.expected, myClass.triangle(input1,input2,input3)); } }
3.测试结果截图
四个测试案例都通过,覆盖率90%