为JUnit类别创建注释

时间:2016-06-02 22:19:49

标签: java junit annotations

我想创建一个注释作为JUnit类别的语法糖。

我想要实现的目标:

@Test
public void shouldDoSomeTesting() { ... }

@Wip
@Test
public void shouldBeATestWithWorkInProgress { ... }

我尝试过这样的事情(Wip.class):

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)    
@Category(Wip.class)
public @interface Wip {}

但它没有用。如果我这样做,它可以工作:

@Category(Wip.class)
@Test
public void shouldBeATestWithWorkInProgress { ... }

这可能吗?如果是,我在界面中做错了什么?

1 个答案:

答案 0 :(得分:8)

除非评估它们的框架支持这种元注释,否则无法创建此类元注释。

JUnit4没有。它只查找其所知类型的注释。

有关于添加https://github.com/junit-team/junit4/issues/194

的讨论

然而,在即将到来的JUnit 5中支持元注释。 https://github.com/junit-team/junit5/issues/114