JUnit白盒测试-第1天

什么是单元测试

写了个类,要给别人用,但是不知道有没有bug,测试一下,即可,一般都用main方法测试,也就是比如用System.out.println(a);的样子将要测试的东西答应出来找bug,但是这种测试方法有两个缺点:

第一、   不能一起运行

第二、   大多数情况下需要人为的观察输出结果确定是否正确

 

为什么要进行单元测试

一、重用测试,以应对将来软件开发的变化,使得程序更加健壮

二、减少了软件运行维护的成本,降低软件bug的概率

三、确保程序是没问题的,安心进行下一步工作

注意:有人会问测试人员不就是专门测试的吗,没错,但是测试人员测试的是一般都是黑盒测试,也就是说根据客户和公司的协议共同制定的需求测试,主要测试的是功能是否符合客户的需求,性能测试等。而JUnit是白盒测试,是用来测试代码的,主要是用来提高软件的质量的,所以要搞清楚这个概念

 

保持状态状态条是绿的,程序就是没问题的,比如修改assertEquals(9,z)的话,状态条就变成了其他颜色,那么说明程序有问题

 

测试例子:

新建一个项目名字为JUnit4,新建一个包名字为com.loulijun.junit4,新建一个class为Hello.java。代码如下

package com.loulijunn.junit4;

 

public class Hello {

    public int add(int x,int y)

    {

       return x+y;

    }

    public static void main(String args[])

    {

       int z=new Hello().add(3, 5);

       System.out.println("result="+z);

    }

}

那么这个时候,再新建一个包,一般这个包的名字为要测试的包的名字后面再加个.test即可如com.loulijun.junit4.test,当然这个不是必须的。

在com.loulijun.junit4.test右击鼠标,新建一个JUnit Test Case,然后再里面写入如下代码

package com.loulijunn.junit4.test;

 

import static org.junit.Assert.*;

 

import org.junit.Assert;

import org.junit.Test;

 

import com.loulijunn.junit4.Hello;

 

public class HelloTest {

 

    @Test

    public void testAdd() {

       //fail("Not yet implemented");

       //asset意思是断言,也就是判断到底对不对

       //Assert.assertArrayEquals(expecteds, actuals)

//静态引入是不需要Assert.的,直接写assertArrayEquals()方法即可

       int z=new Hello().add(5,3);

       assertEquals(8, z);//期望值是8,实际值是z,如果相等,就正确,否则有问题

    }

 

}

 

然后选中HelloTest.java,或者选中你要测试的那个方法,如testAdd()方法,右键点击Run As—Junit Test,此时就会在左边的JUnit窗口看到是否成功的窗口

d

如果状态条是绿色的,说明程序没有问题

为了说明程序,可以把 assertEquals(8, z); 中的8该为9,再次运行JUnit Test

如果状态栏变成了其他颜色,就程序说明有问题

 e

使用JUnit的好处:

①     用不到人工的用眼睛看bug了,程序帮你看测试是否成功,(用自己的方法)

②     可以多个方法一起测试

③     看一眼状态条就知道是否通过了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值