基于注释的Junit4单元测试

Junit4以前,要做基于单元的测试, 需要重新定义一个类,有关此种方法的测试已经有很多的资料,有兴趣的可以查看一下。

现在已经有很多的测试框架,可以是基于Java 注释的,用这种方法测试时,不用再新建一个新的类,在类的内部进行测试。JUnit4 就支持这种功能.

如下,新建一个类:

  

public class SampleTest

{

    public int getInt()

    {

        return 10;

    }

}

 

现在,要测试SampleTest 类的getInt方法,此时,不需要新建一个类,而是在类的内部做如下的变动:

 

import static org.junit.Assert.*;

import org.junit.Test;

 

public class SampleTest

{

    public int getInt()

    {

        return 10;

    }

 

   

    @Test

    public void MyTest()

    {

        assertEquals(getInt(), 10);

    }

}

 

然后,run as JUnit Test ,就可以看到大家熟悉的进度条,如果通过,是绿色的,当然,红色是没有通过。

同时,很时显,如果要用到 Junit4, 需要在项目中引用 Juit4,可不是 Junit3 呀,因为,Junit3 不支持基于注释的测试。

从上面的代码可以看到,把原来需要在新建测试类中增加的测试方法,用一个“@Test”引入到自已类中来,这种测试方法很简单,也很方便。

另外,Junit4 还提供了其它的一些  Annotation, 比如,想忽略一个测试方法,却又不想删除它,怎么办?

import static org.junit.Assert.*;

import org.junit.Ignore;

import org.junit.Test;

 

public class SampleTest

{

    public int getInt()

    {

    return 10;

    }

 

    @Test

    public void MyTest()

    {

    System.out.println("开始 MyTest 测试");

    assertEquals(getInt(), 10);

    }

   

    @Ignore

    @Test

    public void MyTestOfIgnore()

    {

    System.out.println("开始 MyTestOfIgnore 测试");

    assertEquals(getInt(), 10);

    }

}

输出如下:

开始 MyTest 测试

虽然测试了两个方法,但其实第二个方法MyTestOfIgnore 是没有测试的,被忽略了。如果用到这个Annotation,相应的要引入一些包。

import org.junit.Ignore;

还有以下的一些 Annotation

@Before   测试前的初始化

@After    测试完成后的释放资源

@BeforeClass  在测试前针对所有的测试,只执行一个,该方法必须为 void static

@AfterClass   在测试后针对所有的测试执行,只执行一次,也是 void static

以上所有的 Annotation, 按如下的顺序执行:

 

@BeforeClass

@Before

@Test

@After

@AfterClass

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值