一、选择开发工具
鉴于JAVA语言比较简单,并且想通过本次课程的相关知识的训练来提高JAVA语言的编程能力,所以本次作业我选用JAVA语言,那么测试单元则选用JUNIT。由于以前已经下载过eclipse,所以不再多说。
二、练习自动单元测试技术
1、第一步是打开eclipse,创建一个项目,如下图所示。
2、第二步是编写代码,本代码实现的功能是输入两个点坐标,进而求出两点间的斜率,具体代码如下。
package first;
public class countproxy{
private int x1,x2,y1,y2;
public void init(int xx1,int yy1,int xx2,int yy2){
x1 = xx1;
x2 = xx2;
y1 = yy1;
y2 = yy2;
}
public double count(){
double k = (double)(y2-y1)/(x2-x1);
return k;
}
}
3、第三步是为所写程序配置构建路径,从库中调用Junit。具体如下图。
JUnit4通过注解的方式来识别测试方法。目前支持的主要注解有:
①@BeforeClass 全局只会执行一次,而且是第一个运行
②@Before 在测试方法运行之前运行
③@Test 测试方法
④@After 在测试方法运行之后允许
⑤@AfterClass 全局只会执行一次,而且是最后一个运行
⑥@Ignore 忽略此方法
4、第四步是编写测试代码,一共选用四组测试用例,分别包括正数、负数、0以及小数的情况。具体代码如下。
package first;
import org.junit.Test;
import junit.framework.Assert;
public class test {
countproxy c = new countproxy();
@Test
public void test1(){
c.init(1,1,2,2);
double ret = c.count();
Assert.assertEquals(ret, 1.0);
}
@Test
public void test2(){
c.init(-1,-1,-2,2);
double ret = c.count();
Assert.assertEquals(ret, -3.0);
}
@Test
public void test3(){
c.init(1,2,5,2);
double ret = c.count();
Assert.assertEquals(ret, 0.0);
}
@Test
public void test4(){
c.init(1,1,3,2);
double ret = c.count();
Assert.assertEquals(ret, 0.5);
}
}
5、第五步是观察测试是否正确。如果出现绿色横条,则为测试结果正确;如果出现红色横条,则为测试结果错误。
上图表示四组测试用例都通过测试,结果均为正确情况。