博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件测试-实验1
阅读量:4948 次
发布时间:2019-06-11

本文共 1708 字,大约阅读时间需要 5 分钟。

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其他的一些匹配器。

转载于:https://www.cnblogs.com/anqii/p/6539199.html

你可能感兴趣的文章
[Reactive Programming] Using an event stream of double clicks -- buffer()
查看>>
家有Mybatis初养成1
查看>>
mvp学习
查看>>
MySQL缓存分类和配置
查看>>
第二次java作业
查看>>
js 数组
查看>>
P2260 [清华集训2012]模积和
查看>>
Discourse的优化
查看>>
小谈-—ServletConfig对象和servletContext对象
查看>>
python:接口开发
查看>>
Webform和MVC,为什么MVC更好一些?
查看>>
开启浏览器javascrIE6被弃 国产浏览器厂商争食“蛋糕
查看>>
Metropolis(多源点最短路)
查看>>
Subsequence
查看>>
ubuntu下访问windows共享文件夹
查看>>
Beta 答辩总结
查看>>
Code Page Identifiers zz
查看>>
JAVA设计模式初探之装饰者模式
查看>>
c语言中的隐式函数声明(转)
查看>>
洛谷P1402 酒店之王(二分图)
查看>>