2014-12-02 54 views
0

在我的项目中,碰巧我有一些测试类的基类。因此,如果我可以将注释@Category(MyCategory.class)添加到基类以将所有子类中的所有测试一次性添加到我的类别,那将会非常方便。为什么JUnit忽略基类上的@Category标注?

它实际上可以在类级别添加此注释,但JUnit/surefire会将它放在基类上。我认为这种行为是不一致的和混乱的。

JUnit不支持这个原因吗?

+1

你使用什么版本(它应该被继承,请参阅https://github.com/junit-team/junit/issues/558) – 2014-12-02 12:35:59

回答

3

由于它被@RC提及,它依赖于JUnit的版本。注释@Category月以来,5,2012年被注释为@Inherited最新的正式版4.11 Maven仓库可被释放,在十一月,2012

的即将推出的版本仍处于测试阶段:http://mvnrepository.com/artifact/junit/junit

所以,如果你想要这个和许多其他功能转移到JUnit 4.12,beta-3上,你自己承担风险。

1

事实证明,这不仅是一个JUnit问题,也是一个Maven Surefire插件的问题。使用最新的surefire 2.18版继承功能就像魅力一样,即使在JUnit 4.11中也是如此。

+0

但是JUnit也必须升级,对不对? – AlexR 2014-12-02 14:10:56

+0

@AlexR我不必去测试版本 - 仍然使用JUnit 4.11 – 2014-12-03 10:38:04