Juint4 @BeforeClass @AfterClass 等 都不执行 的解决方案

本文详细阐述了在使用JUnit4框架进行单元测试时,遇到测试类继承TestCase类导致@BeforeClass和@AfterClass等注解失效的问题。问题源于JUnit4在设计时对测试类继承的限制,以及测试方法命名规范的冲突。文章提供了解决方案,即去掉测试类的TestCase继承,使得Annotation功能得以恢复。
摘要由CSDN通过智能技术生成
[color=blue][size=large]1、现象[/size][/color]
@BeforeClass和@AfterClass注解的方法不执行。
[color=blue][size=large]2、原因[/size][/color]
[size=medium] @BeforeClass和@AfterClass是JUnit4得新特性,标记有@BeforeClass的方法会载所有的测试方法执行开始前运行,标记有@AfterClass的方法会在所有的测试方法运行结束后执行。
可是在运行的时候,始终无法通过。仔细检查代码,原因是测试类继承了TestCase类。在JUnit4中,如果测试类继承了TestCase类,那么所有的Annotation都不会起作用。在程序中,所有的Annotation都不起作用了,但是testMethodA的命名符合TestCase中测试方法的规范,所以该方法还是会被执行,但是由于createTestData没有执行,测试数据没有被创建,方法执行当然会失败。 [/size]
[color=blue][size=large]3、解决方案[/size][/color]
[size=medium] 只要去掉extends TestCase即可。 [/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值