为什么Junit单元测试不能执行带@Test 的用例

本文记述了作者在参与自动化测试项目过程中遇到的遗留问题——无法使用@Test等JUnit4注解,并成功解决的过程。通过去除TestCase类继承,实现了对JUnit4注解的支持。

    前段时间,以救火队员的身份去帮助公司的测试小组写自动化测试项目。对于这个自动化测试项目,准确来说应该算接口的自动化测试,我的理解就是用代码构建完整的逻辑,代替人工去页面上点点点。

    很快我就发现,公司自己封装的项目体系是不能使用@Test,@Before、@After注解的,所有的方法都需要以test开头,比如testSaveUser……心里想着,这不是Junit3.x的写法吗?然后我去看了项目所引用的Junit版本的确是4.1.2。作为救火队员的我也没有时间去深究到底为什么,先按照现有的这种写法写吧,但是个人的习惯还是让我给自己写的用例添加了@Test注解。

    项目快结束的时候,终于有时间去解决这些遗留的问题了。我发现在封装的底层方法中继承了TestCase这个类,这个是Junit3.x中的写法啊,问题可能就是合理了。大胆的去把这个TestCase去掉,然后去执行所有的用例,果然只有我写的用例执行了。跟测试组的老大交流之后,他知道这个问题,但是一直不知道怎么解决,我就这样解决了一个遗留问题:)……

   下面概括下Junit注解的含义:

    @Test:要执行的用例,只有添加了这个注解,用例才会被执行;

    @Ignore: 不执行的用例,只要添加了这个注解,用例就不会被执行;

    @Before :在方法执行之前执行,类似Junit3.x中setUp方法;

    @After:在方法执行之后执行,类似于Junit3.x中的tearDown方法;

    @BeforeClass:在所有的方法执行前执行;

    @AfterClass:在所有方法后执行;

一个完整的用例的执行顺序:

    @BeforeClass ->@Before->@Test->@After ->@AfterClass

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值