Junit4使用

在开发中经常用到单元测试,在这里小小的记录一下。

首先要明确一点,测试用例用来达到想要的预期结果,但对于逻辑错误无能为力。先看一个简单的例子:

public class Divide {
    public int divide(int a,int b){
        return a/b;
    }
}

import static org.junit.Assert.*;
import org.junit.Test;
import com.honor.utils.Divide;

public class JunitTest {
    /*
     * 1.测试方法上必须使用@Test注解
     * 2.测试方法必须是public void进行修饰,不能带任何参数
     * 3.测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖
     *
     */    
    @Test
    public void testDivide(){
        assertEquals(6,new Divide().divide(3,3));
    }
}

运行结果分析:

1.Failures一般是由单元测试使用的断言方法判断失败所引起的,它表示测试点发现了问题,即程序输出的结果和我们预期的不一样。

2.Errors是由代码异常引起的,它可能产生于测试代码本身的错误,也可能是被测试代码中隐藏的一个bug

3.测试用例不是用来证明你是对的,而是用来证明你没有错。

Junit常用注解:

1.@BeforeClass:修饰的方法会在所有方法运行前被执行,static修饰

2.@AfterClass:修饰的方法会在所有方法运行结束后被执行,static修饰

3.@Before:会在每个测试方法执行前执行一次

4.@After:会在每个测试方法执行后执行一次

5.@Test:将一个普通方法修饰成为一个测试方法

   @Test(expected=XX.class)

   @Test(timeout=毫秒):测试超时时间,比如死循环

6.@Ignore:修饰的测试方法会被测试运行器忽略

7.@RunWith:可以更改测试运行器

 很好的使用单元测试对我们开发有很好的帮助,web开发经常使用到框架整合,下面是一个简单的例子:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:applicationContext.xml"})
public class Demo1 {
    @Resource(name="accountServiceProxy")
    private AccountService accountService;
    @Test
    public void demo1(){
        accountService.transfer("aaa", "bbb", 200d);
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值