Software Testing Lab1 (软件测试实验一) —— junit hamcrest and eclemma安装及入门

LAB 1 REPORT

Firstly, install junit, hamcrest and eclemma.

Junit is a unit testing framework for the Java programming language.

Hamcrest is a framework that assists writing software tests in the Java programming language.

----Wikipedia

Thus, before we install Junit and hamcrest, Eclipse is needed. There will be some difficulties while configuring it. Blog is a good way to figure out the steps and solutions.

Download juint.jar and hamcrest.jar from the official website. Then, click right button and select "Build path"->"Configure Build path"->"Libraries"->"Add external JARs". Finally, find out the jar files that have been downloaded.

The way to install eclemma is similar to last one. But, paying more attention, the path to add eclemma is "Help"->"Install New Software"->"Add"->"local". When it is finished, there will be a signal on the tool column.

 

Secondly, write a program for the triangle problem. There is the description of that problem.

Function triangle takes three integers a,b,c which are length of triangle sides; calculates whether the triangle is equilateral, isosceles, or scalene.

There is the code.

package cn.tjuscs.st.danning;

public class triangle {
    public int triangleJudge(int a,int b,int c){
        
        int kindOfTrg;
        //The number is right
        if(a > 0 && b > 0 && c > 0){
            
            //equilateral
            if(a == b && a == c){
                return kindOfTrg = 2;
            }
            //scalene
            else if(a != b && a != c && b != c){
                return kindOfTrg= 0;
            }
            //isosceles
            else{ 
                return kindOfTrg = 1;
            }
            
        }
        //Can not be a triangle
        else {
            return kindOfTrg = -1;
        }
            
    }
}

 

Thirdly, test the program with Junit. This is the frame of my program.

Code the testing part. It has to coverage every way of the program.

package cn.tjuscs.st.danning;

import static org.junit.Assert.*;

import java.util.Arrays;
import java.util.Collection;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

@RunWith(Parameterized.class)
public class triangleTest {
    
    private int a;
    private int b;
    private int c;
    private int expected;
    private static triangle triTest;
    
    public triangleTest(int a,int b,int c,int expected){
        this.a = a;
        this.b = b;
        this.c = c;
        this.expected = expected;
    }
    @Before
    public void setUp() throws Exception {
        triTest = new triangle();
    }
    @After
    public void tearDown() throws Exception {
    }
    @Parameters
    public static Collection<Object[]> getData(){
        return Arrays.asList(new Object[][]{
            {0,2,3,-1},
            {2,2,3,1},
            {2,2,2,2},
            {5,4,3,0}
        });
    }
    @Test
    public void test(){
        assertEquals(this.expected,triTest.triangleJudge(this.a,this.b,this.c));
    }
    

}

 

Test the program with junit and eclemma.

 

posted @ 2017-03-12 22:07  Danning1996  阅读(186)  评论(0编辑  收藏  举报