单元测试(java)

1.什么是软件测试

软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。

2.测试分类

按照是否知道源代码

  • 黑盒测试:不关心具体的逻辑代码,只测功能
  • 白盒测试:测试逻辑代码
  • 灰盒测试:介于黑盒和白盒之间

从软件开发的过程

  • 单元测试:Unit Testing
  • 集成测试:Integrated Testing
  • 系统测试:System Testing

根据测试的次数

  • 冒烟测试
  • 压力测试 大量的并发操作

3.Junit单元测试

Junit是一个基于Java语言的单元测试框架。是白盒测试的一种技术。

1.想要使用Junit测试代码,必须先导入jar包,在待测试类中待测试代码上打上@Test,然后按万能键(Alt+Enter)进行导包

2.测试方法必须使用public void 进行修饰,不能带任何的参数

3.添加断言,预期值跟实际值相等,测试成功,不相等,报异常

4.@Before,@After 每个测试的方法都会被执行

5.@BeforeClass,@AfterClass 无论有多少要被测试的方法,之执行一次

代码:

//被测试类
public class Operation {
    public int add(int x,int y){
        int z = x+y;
        return z;
    }

    public int sub(int x,int y){
        int z = x-y;
        return z;
    }
}
//测试类
//测试类
public class OperationTest {
    static Opration opration=null;
    static{
        opration = new Opration();
    }

    @Before//每个方法之前都要执行一次
    public void before(){
        System.out.println("before,只要有测试方法执行就执行一次");
    }
    @After//每个方法之后都要执行一次
    public void after(){
        System.out.println("after,只要有测试方法执行就执行一次");
    }

    @BeforeClass//不管有多少测试方法,执行一次
    public void beforeClass(){
        System.out.println("beforeClass,执行一次");
    }
    @AfterClass//不管有多少测试方法,执行一次
    public void afterClass(){
        System.out.println("afterClass,执行一次");
    }

    @Test
    public void testadd(){
        int z = opration.add(20,10);
        System.out.println(z);
        Assert.assertEquals(30,z);//如果预期值(参数1)与实际值(参数2)不相等,报异常
    }

    @Test
    public void testsub(){
        int z = opration.sub(20,14);
        System.out.println(z);
        Assert.assertEquals(6,z);
    }
}

 

注意:

①测试方法上必须使用@Test进行修饰

②测试方法必须使用public void 进行修饰,不能带任何的参数

③新建一个源代码目录来存放我们的测试代码,即将测试代码和项目业务代码分开

④测试类所在的包名应该和被测试类所在的包名保持一致

⑤测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖

⑥测试类使用Test作为类名的后缀(不是必须)

⑦测试方法使用test作为方法名的前缀(不是必须)

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值