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

一、选择开发工具

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

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

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

1650347-20190413203255250-1632239897.png

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

1650347-20190413204148258-541192787.png
1650347-20190413204212179-268207521.png

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

1650347-20190413204656146-1713132481.png
上图表示四组测试用例都通过测试,结果均为正确情况。

三、总结

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

转载于:https://www.cnblogs.com/zhaoyilin0728/p/10702826.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值