一、选择开发工具

鉴于JAVA语言比较简单,并且想通过本次课程的相关知识的训练来提高JAVA语言的编程能力,所以本次作业我选用JAVA语言,那么测试单元则选用JUNIT。由于以前已经下载过eclipse,所以不再多说。

二、练习自动单元测试技术

1、第一步是打开eclipse,创建一个项目,如下图所示。

软件工程第二次作业-1605班05赵一霖 随笔 第1张

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。具体如下图。

软件工程第二次作业-1605班05赵一霖 随笔 第2张
软件工程第二次作业-1605班05赵一霖 随笔 第3张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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、第五步是观察测试是否正确。如果出现绿色横条,则为测试结果正确;如果出现红色横条,则为测试结果错误。

软件工程第二次作业-1605班05赵一霖 随笔 第4张
上图表示四组测试用例都通过测试,结果均为正确情况。

三、总结

经过一个下午的学习,我对JAVA语言有了一定的了解,同时也对Junit单元测试方法有了初步的了解,希望可以在之后的编程路上也可以熟练使用这个方法来解决之后遇到的问题。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄