junit4今天遇到的问题

       昨天很奇怪的发现junit上面的annotation都没有生效,然后也看不出来问题,最后检查是发现我使用的是junit4,但是继承了TestCase,在继承了TestCase后好像所有的注解都会生效。

       总结一句就是junit4不能继承TestCase。 什么时候有时间了看下源码,我感觉它应该是根据发射如果发现是TestCase的子类,那么就按照junit3的方式进行处理了。

 

下面再列举下junit3和4的区别:

 

        这两个版本最大的区别在JUnit3.x中测试必须继承 TestCase,并且每个方法名必须以test 开头。比如:testMethod1()而在JUnit4 .x中不必继承 TestCase,采用了注解的方式。只要在测试的方法上加上注解@Test 即可,从而不必再遵循以前的一些显式约定和反射定位测试;在JUnit4 .x中如果继承 了TestCase,注解就不起作用了。并且有很重要的一点就是在JUnit4 .x中继承 了 TestCase后,在OutLine视图中测试单个方法时,结果整个类都run 了。还有一点就是,在3.x中需要实现setUp和tearDown方法,而在4.x中无需这样,可以自定义需要在测试前和测试后的方法,在方法前加上 @before,@after就可以了。所以在JUnit4 .x不必继承 TestCase用注解即可对单个方法进行测试。

 

 

JUnit3 JUnit4
必须引入类TestCase
import junit.framework.TestCase;
必须引入
import org.junit.Test ;
import static org.junit.Assert.*;
必须 继承 类TestCase
class BaseClassTest extends TestCase
不需要
测试方法必须以test 开头
public void testMethod ()
不需要,
但是类开始的时候要标记 @Test
通过assert*方法来判断结果
assertTrue(baseClass.method ().equals(“test .junit.BaseClass”));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值