[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]
@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]