[软件测试基础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%

原文地址:https://www.cnblogs.com/eraserNut/p/5295092.html