@Retention(value=RUNTIME) @Repeatable(value=Categories.class) public @interface Category
@RunWith(CategoryRunner.class) @Category(cat="editor") @Category(cat="server") public class MyTest { @Test public void test1() { ... } @Test public void test2() { ... }In this case, the MyTest class belong to two categories:
JUnitCategoryWrapper
public abstract String cat