`
AsWater
  • 浏览: 24145 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

使用JUnit4进行测试时@BeforeClass不运行

阅读更多
@BeforeClass和@AfterClass是JUnit4得新特性,标记有@BeforeClass的方法会载所有的测试方法执行开始前运行,标记有@AfterClass的方法会在所有的测试方法运行结束后执行。
今天碰到一个问题,我有下面的一个测试类:
public class TestXXX extends TestCase {
    @BeforeClass
    public void createTestData(){
       ................
    }

    @Test
    public void testMethodA(){
       ....................
    }

    @AfterClass
    public void deleteTestData(){
        ...........
    }
}

在运行的时候,始终无法通过。后来通过Debug发现createTestData和deleteTestData方法没有执行。仔细检查代码,原因是测试类继承了TestCase类。在JUnit4中,如果测试类继承了TestCase类,那么所有的Annotation都不会起作用。在上面的例子中,所有的Annotation都不起作用了,但是testMethodA的命名符合TestCase中测试方法的规范,所以该方法还是会被执行,但是由于createTestData没有执行,测试数据没有被创建,方法执行当然会失败。
1
0
分享到:
评论
2 楼 yoyo837 2011-12-14  
bhj626 写道
我的提示@AfterClass cannot be resolved to a type知道是什么原因么

junit4.0版本
1 楼 bhj626 2009-11-28  
我的提示@AfterClass cannot be resolved to a type知道是什么原因么

相关推荐

Global site tag (gtag.js) - Google Analytics