我想创建一个注释作为 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 { ... }

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

最佳答案

除非评估它们的框架支持,否则您不能创建这样的元注释。

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

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

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

10-07 13:00