软件测试上机实验

题目要求:

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

在Eclipse中安装 Junit(4.12), Hamcrest(1.3),在http://mvnrepository.com/artifact/org.hamcrest/hamcrest-all中可下载

手动添加folder文件夹lib,把Junit和Hamcrest all添加进文件夹,并加入运行文件

然后安装Eclemma,将eclemma压缩包下载下来后解压到Eclipse本地目录的dropins下,重启Eclipse即可,需要删除META-INF文件夹

我的triangle代码:

package cn.tju.scs;

public class Triangle {

public Triangle(){

}

public int ifTriangle(int i,int j,int p){
//等边三角形返回1
if(i == j && j == p){
System.out.println(i);
System.out.println(j);
System.out.println(p);
return 1;
}
//等腰三角形返回2
else if(i == j || j == p || i == p){
System.out.println(i);
System.out.println(j);
System.out.println(p);
return 2;
}
//斜边三角形返回3
else
return 3;
}

}

我的testTriangle代码:

package cn.tju.scs;

import static org.junit.Assert.*;

import java.util.Arrays;
import java.util.Collection;
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 testTriangle {

private Triangle tri;
private int input1;
private int input2;
private int input3;
private int expected;

public testTriangle(int a,int b,int c,int d){
this.input1=a;
this.input2=b;
this.input3=c;
this.expected=d;
}
@Before
public void setUp(){
tri = new Triangle();
}

@Parameters
public static Collection<Object[]> getData(){
return Arrays.asList(new Object[][]{
{3,4,5,3},
{2,3,3,2},
{9,9,9,1}
});
}
@Test
public void judge() {
assertEquals(this.expected, tri.ifTriangle(input1, input2, input3));
}

}

运行结果如图所示:

测试覆盖如下所示:

 

posted @ 2018-03-25 21:33  孙晴SQ  阅读(131)  评论(0编辑  收藏  举报