比JUnit4更酷的Annotation @Test checkMethod Annotation

上一篇文章中,我们已经看到如何测试Vector#add(Object)是线程安全的,如果你觉得check_testAdd不符合你的编程风格的话,现在你可以使用Annotation来表示check方法了,这就是@checkMethod Annotation, 上一篇文中的例子将写成:
public class VectorTest extends TestCase {
    public static void main() {
       ConcurrentRunner runner = new ConcurrentRunner();
       runner.setMethodFilter(new AnnotationMethodFilter());
       runner.run(VectorTest.class);
    }
    private Vector _vector = new Vector();
   
    @Test(checkMethod = "checkAdd")
    public void testAdd() {
        _vector.add(new Object());
    }

    public void checkAdd() {
        assertEquals(10, _vector.size());
    }
}
上面例子中@Test表示该方法为测试案例,checkMethod表示该方法对应的检查方法,这在某种程度上帮助你将测试逻辑和断言(assert部分)分离。 p-unit 核心部分支持jdk >= 1.3 因此内建标准的method filter还是根据test的命名规则,test开头以及check_前缀做为该test的check方法。 为了使用Annotation,只需加入下面一行代码:
       runner.setMethodFilter(new AnnotationMethodFilter());
这也使得你可以定制自己的命名规则,嵌入p-unit内核。体会到p-unit酷的部分了吗?

另外,p-unit支持@Test(expected=Throwable.class),这点和JUnit 4完全一样。
该功能不包含在p-unit-0.10 release中,将在下一个版本中包含该功能,或者你可以check out svn最新代码来抢先体验该功能。

p-unit 主页: http://p-unit.sourceforge.net
p-unit 下载: p-unit-0.10 release
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值