我想创建一个注释作为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 { ... }
这可能吗?如果是,我在界面中做错了什么?
答案 0 :(得分:8)
除非评估它们的框架支持这种元注释,否则无法创建此类元注释。
JUnit4没有。它只查找其所知类型的注释。
有关于添加https://github.com/junit-team/junit4/issues/194
的讨论然而,在即将到来的JUnit 5中支持元注释。 https://github.com/junit-team/junit5/issues/114