001package org.junit.experimental.categories; 002 003import java.lang.annotation.Inherited; 004import java.lang.annotation.Retention; 005import java.lang.annotation.RetentionPolicy; 006 007/** 008 * Marks a test class or test method as belonging to one or more categories of tests. 009 * The value is an array of arbitrary classes. 010 * 011 * This annotation is only interpreted by the Categories runner (at present). 012 * 013 * For example: 014 * <pre> 015 * public interface FastTests {} 016 * public interface SlowTests {} 017 * 018 * public static class A { 019 * @Test 020 * public void a() { 021 * fail(); 022 * } 023 * 024 * @Category(SlowTests.class) 025 * @Test 026 * public void b() { 027 * } 028 * } 029 * 030 * @Category({SlowTests.class, FastTests.class}) 031 * public static class B { 032 * @Test 033 * public void c() { 034 * 035 * } 036 * } 037 * </pre> 038 * 039 * For more usage, see code example on {@link Categories}. 040 */ 041@Retention(RetentionPolicy.RUNTIME) 042@Inherited 043public @interface Category { 044 Class<?>[] value(); 045}