Class Categories

  extended by org.junit.runner.Runner
      extended by org.junit.runners.ParentRunner<Runner>
          extended by org.junit.runners.Suite
              extended by org.junit.experimental.categories.Categories
All Implemented Interfaces:
Describable, Filterable, Sortable

public class Categories
extends Suite

From a given set of test classes, runs only the classes and methods that are annotated with either the category given with the @IncludeCategory annotation, or a subtype of that category. Note that, for now, annotating suites with @Category has no effect. Categories must be annotated on the direct method or class. Example:

 public interface FastTests {
 public interface SlowTests {
 public static class A {
        public void a() {
        public void b() {
 @Category( { SlowTests.class, FastTests.class })
 public static class B {
        public void c() {
 @SuiteClasses( { A.class, B.class })
 // Note that Categories is a kind of Suite
 public static class SlowTestSuite {

Nested Class Summary
static class Categories.CategoryFilter
static interface Categories.ExcludeCategory
static interface Categories.IncludeCategory
Nested classes/interfaces inherited from class org.junit.runners.Suite
Constructor Summary
Categories(Class<?> klass, RunnerBuilder builder)
Method Summary
Methods inherited from class org.junit.runners.Suite
describeChild, emptySuite, getChildren, runChild
Methods inherited from class org.junit.runners.ParentRunner
childrenInvoker, classBlock, classRules, collectInitializationErrors, filter, getDescription, getName, getRunnerAnnotations, getTestClass, run, runLeaf, setScheduler, sort, validatePublicVoidNoArgMethods, withAfterClasses, withBeforeClasses
Methods inherited from class org.junit.runner.Runner
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public Categories(Class<?> klass,
                  RunnerBuilder builder)
           throws InitializationError