首页 > 代码库 > 软件测试-实验1
软件测试-实验1
Junit,hamcrest,eclemma单元测试基础(java)
1)安装junit, hamcrest 和 eclemma
1.1 安装juint,hamcrest
这两个的安装我使用了同一种方法,即导入jar包,在“项目”->“属性”当中选择java构建路径,导入外部提前下好的jar包,这里我导入的是junit(4.12)和hamcrest-all-1.3。导入后就可以生成测试实例和进行测试了。
1.2 安装eclemma
安装eclemma我使用的是利用eclipse添加程序的方法。
2)编写程序并测试
2.1 编写程序
程序如下,可以用来对三角形是否为等边等腰或者斜角进行判断,并在这之前判断是否为三角形。
package LabWork1;
public class triangle{
public int a,b,c;//输入参数
public int result;//存储结果
public int judge(int a,int b,int c){
if( ( a + b <= c || a + c <= b || b + c <= a ) || ( a <= 0 || b <= 0 || c <= 0 ) ){
result = -1;
}
else if(a == b&&b ==c){
result = 1;
}
else if(a == b||b == c||c ==a){
result = 2;
}
else
{
result = 3;
}
return result;
}
}
2.2 生成测试用例
首先创建一个有重名包的另一个源文件夹
然后在triangle.java右键新建Junit测试用例:
选择在刚才新建的包里创建,这时程序会帮我们在那个包里生成一个名为triangleTest的测试用例,经过部分修改得到测试用例:
package LabWork1;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class triangleTestTest {
triangle Tri;
int result;
@Before
public void setUp() throws Exception {
Tri = new triangle();
}
@Test
public void testnottriangle(){
assertEquals(-1,Tri.judge(1, 1, 2));
assertEquals(-1,Tri.judge(0, 1, 2));
assertEquals(-1,Tri.judge(1, -1, 2));
}
@Test
public void testequilateral(){
result = Tri.judge(2, 2, 2);
assertEquals(1,result);
}
@Test
public void testisosceles(){
result = Tri.judge(2, 2, 3);
assertEquals(2,result);
}
@Test
public void testscalene(){
result = Tri.judge(3, 2, 4);
assertEquals(3,result);
}
}
然后在该测试用例右键,运行方式,以Junit测试用例运行。得到运行结果:
这里还没有使用eclemma进行覆盖测试,我们点击eclemma的图标,并选择triangleTest,然后得到覆盖结果:
测试用例被全部覆盖详细信息出现在下方。
至此单元测试完毕。
3)实验不足
测试用例中只是用了assertEqual()这一个功能,这个功能本身Junit内部好像已经集成了,并没有用到hamcrest其他的一些匹配器。
软件测试-实验1