public class

Description

extends Object
java.lang.Object
   ↳ org.junit.runner.Description

Class Overview

A Description describes a test which is to be run or has been run. Descriptions can be atomic (a single test) or compound (containing children tests). Descriptions are used to provide feedback about the tests that are about to run (for example, the tree view visible in many IDEs) or tests that have been run (for example, the failures view).

Descriptions are implemented as a single class rather than a Composite because they are entirely informational. They contain no logic aside from counting their tests.

In the past, we used the raw TestCases and TestSuites to display the tree of tests. This was no longer viable in JUnit 4 because atomic tests no longer have a superclass below Object. We needed a way to pass a class and name together. Description emerged from this.

See Also

Summary

Fields
public static final Description EMPTY Describes a Runner which runs no tests
public static final Description TEST_MECHANISM Describes a step in the test-running mechanism that goes so wrong no other description can be used (for example, an exception thrown from a Runner's constructor
Public Methods
void addChild(Description description)
Add Description as a child of the receiver.
Description childlessCopy()
static Description createSuiteDescription(Class<?> testClass)
Create a Description named after testClass
static Description createSuiteDescription(String name, Annotation... annotations)
Create a Description named name.
static Description createTestDescription(Class<?> clazz, String name, Annotation... annotations)
Create a Description of a single test named name in the class clazz.
static Description createTestDescription(Class<?> clazz, String name)
Create a Description of a single test named name in the class clazz.
boolean equals(Object obj)
<T extends Annotation> T getAnnotation(Class<T> annotationType)
Collection<Annotation> getAnnotations()
ArrayList<Description> getChildren()
String getClassName()
String getDisplayName()
String getMethodName()
Class<?> getTestClass()
int hashCode()
boolean isEmpty()
boolean isSuite()
boolean isTest()
int testCount()
String toString()
[Expand]
Inherited Methods
From class java.lang.Object

Fields

public static final Description EMPTY

Describes a Runner which runs no tests

public static final Description TEST_MECHANISM

Describes a step in the test-running mechanism that goes so wrong no other description can be used (for example, an exception thrown from a Runner's constructor

Public Methods

public void addChild (Description description)

Add Description as a child of the receiver.

Parameters
description the soon-to-be child.

public Description childlessCopy ()

Returns
  • a copy of this description, with no children (on the assumption that some of the children will be added back)

public static Description createSuiteDescription (Class<?> testClass)

Create a Description named after testClass

Parameters
testClass A Class containing tests
Returns
  • a Description of testClass

public static Description createSuiteDescription (String name, Annotation... annotations)

Create a Description named name. Generally, you will add children to this Description.

Parameters
name the name of the Description
Returns
  • a Description named name

public static Description createTestDescription (Class<?> clazz, String name, Annotation... annotations)

Create a Description of a single test named name in the class clazz. Generally, this will be a leaf Description.

Parameters
clazz the class of the test
name the name of the test (a method name for test annotated with Test)
annotations meta-data about the test, for downstream interpreters
Returns
  • a Description named name

public static Description createTestDescription (Class<?> clazz, String name)

Create a Description of a single test named name in the class clazz. Generally, this will be a leaf Description. (This remains for binary compatibility with clients of JUnit 4.3)

Parameters
clazz the class of the test
name the name of the test (a method name for test annotated with Test)
Returns
  • a Description named name

public boolean equals (Object obj)

public T getAnnotation (Class<T> annotationType)

Returns
  • the annotation of type annotationType that is attached to this description node, or null if none exists

public Collection<Annotation> getAnnotations ()

Returns
  • all of the annotations attached to this description node

public ArrayList<Description> getChildren ()

Returns
  • the receiver's children, if any

public String getClassName ()

Returns
  • If this describes a method invocation, the name of the class of the test instance

public String getDisplayName ()

Returns
  • a user-understandable label

public String getMethodName ()

Returns
  • If this describes a method invocation, the name of the method (or null if not)

public Class<?> getTestClass ()

Returns
  • If this describes a method invocation, the class of the test instance.

public int hashCode ()

public boolean isEmpty ()

Returns
  • true if this is a description of a Runner that runs no tests

public boolean isSuite ()

Returns
  • true if the receiver is a suite

public boolean isTest ()

Returns
  • true if the receiver is an atomic test

public int testCount ()

Returns
  • the total number of atomic tests in the receiver

public String toString ()