为JUnit类别创建注释

Luc*_*ier 4 java junit annotations

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

我想要实现的目标:

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

@Wip
@Test
public void shouldBeATestWithWorkInProgress { ... }
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的东西(Wip.class):

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)    
@Category(Wip.class)
public @interface Wip {}
Run Code Online (Sandbox Code Playgroud)

但它没有用.如果我这样做,它的工作原理:

@Category(Wip.class)
@Test
public void shouldBeATestWithWorkInProgress { ... }
Run Code Online (Sandbox Code Playgroud)

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

zap*_*apl 8

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

JUnit4没有.它只查找其知道的类型的注释.

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

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