## org.junit.runners.model
Class TestClass

    java.lang.Object
      org.junit.runners.model.TestClass

All Implemented Interfaces:
  Annotatable

    public class TestClass

extends Object
implements Annotatable

Wraps a class to be run, providing method validation and annotation searching

Since:
  4.5

Constructor Summary
`TestClass(Class<?> clazz)` Creates a `TestClass` wrapping `clazz`.

Method Summary

`protected static

`<T extends FrameworkMember<T>> void`

`

`addToAnnotationLists(T member, Map<Class<? extends Annotation>,List<T>> map)`

`

`<T> void`

`

`collectAnnotatedFieldValues(Object test, Class<? extends Annotation> annotationClass, Class<T> valueClass, MemberValueConsumer<T> consumer)`
Finds the fields annotated with the specified annotation and having the specified type, retrieves the values and passes those to the specified consumer.

`

`<T> void`

`

`collectAnnotatedMethodValues(Object test, Class<? extends Annotation> annotationClass, Class<T> valueClass, MemberValueConsumer<T> consumer)`
Finds the methods annotated with the specified annotation and returning the specified type, invokes it and pass the return value to the specified consumer.

`boolean` `equals(Object obj)`
`List<FrameworkField>` `getAnnotatedFields()` Returns, efficiently, all the non-overridden fields in this class and its superclasses that are annotated.
`List<FrameworkField>` `getAnnotatedFields(Class<? extends Annotation> annotationClass)` Returns, efficiently, all the non-overridden fields in this class and its superclasses that are annotated with `annotationClass`.

`

`<T> List<T>`

`

`getAnnotatedFieldValues(Object test, Class<? extends Annotation> annotationClass, Class<T> valueClass)`

`List<FrameworkMethod>` `getAnnotatedMethods()` Returns, efficiently, all the non-overridden methods in this class and its superclasses that are annotated}.
`List<FrameworkMethod>` `getAnnotatedMethods(Class<? extends Annotation> annotationClass)` Returns, efficiently, all the non-overridden methods in this class and its superclasses that are annotated with `annotationClass`.

`

`<T> List<T>`

`

`getAnnotatedMethodValues(Object test, Class<? extends Annotation> annotationClass, Class<T> valueClass)`

`

`<T extends Annotation> T`

`

`getAnnotation(Class<T> annotationType)`
Returns the annotation on the model element of the given type, or @code{null}

`Annotation[]` `getAnnotations()` Returns the annotations on this class
`Class<?>` `getJavaClass()` Returns the underlying Java class.
`String` `getName()` Returns the class's name.
`Constructor<?>` `getOnlyConstructor()` Returns the only public constructor in the class, or throws an `AssertionError` if there are more or less than one.
`int` `hashCode()`
`boolean` `isANonStaticInnerClass()`
`boolean` `isPublic()`
`protected void` `scanAnnotatedMembers(Map<Class<? extends Annotation>,List<FrameworkMethod>> methodsForAnnotations, Map<Class<? extends Annotation>,List<FrameworkField>> fieldsForAnnotations)`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### TestClass

    public TestClass(Class<?> clazz)

  Creates a `TestClass` wrapping `clazz`. Each time this constructor executes, the class is scanned for annotations, which can be an expensive process (we hope in future JDK's it will not be.) Therefore, try to share instances of `TestClass` where possible.

Method Detail

### scanAnnotatedMembers

    protected void scanAnnotatedMembers(Map<Class<? extends Annotation>,List<FrameworkMethod>> methodsForAnnotations,
                                        Map<Class<? extends Annotation>,List<FrameworkField>> fieldsForAnnotations)

### addToAnnotationLists

    protected static <T extends FrameworkMember<T>> void addToAnnotationLists(T member,
                                                                              Map<Class<? extends Annotation>,List<T>> map)

### getAnnotatedMethods

    public List<FrameworkMethod> getAnnotatedMethods()

  Returns, efficiently, all the non-overridden methods in this class and its superclasses that are annotated}.

  Since:
    4.12

### getAnnotatedMethods

    public List<FrameworkMethod> getAnnotatedMethods(Class<? extends Annotation> annotationClass)

  Returns, efficiently, all the non-overridden methods in this class and its superclasses that are annotated with `annotationClass`.

### getAnnotatedFields

    public List<FrameworkField> getAnnotatedFields()

  Returns, efficiently, all the non-overridden fields in this class and its superclasses that are annotated.

  Since:
    4.12

### getAnnotatedFields

    public List<FrameworkField> getAnnotatedFields(Class<? extends Annotation> annotationClass)

  Returns, efficiently, all the non-overridden fields in this class and its superclasses that are annotated with `annotationClass`.

### getJavaClass

    public Class<?> getJavaClass()

  Returns the underlying Java class.

### getName

    public String getName()

  Returns the class's name.

### getOnlyConstructor

    public Constructor<?> getOnlyConstructor()

  Returns the only public constructor in the class, or throws an `AssertionError` if there are more or less than one.

### getAnnotations

    public Annotation[] getAnnotations()

  Returns the annotations on this class

  Specified by:
    `getAnnotations` in interface `Annotatable`

### getAnnotation

    public <T extends Annotation> T getAnnotation(Class<T> annotationType)

  Description copied from interface: `Annotatable`
  Returns the annotation on the model element of the given type, or @code{null}

  Specified by:
    `getAnnotation` in interface `Annotatable`

### getAnnotatedFieldValues

    public <T> List<T> getAnnotatedFieldValues(Object test,
                                               Class<? extends Annotation> annotationClass,
                                               Class<T> valueClass)

### collectAnnotatedFieldValues

    public <T> void collectAnnotatedFieldValues(Object test,
                                                Class<? extends Annotation> annotationClass,
                                                Class<T> valueClass,
                                                MemberValueConsumer<T> consumer)

  Finds the fields annotated with the specified annotation and having the specified type, retrieves the values and passes those to the specified consumer.

  Since:
    4.13

### getAnnotatedMethodValues

    public <T> List<T> getAnnotatedMethodValues(Object test,
                                                Class<? extends Annotation> annotationClass,
                                                Class<T> valueClass)

### collectAnnotatedMethodValues

    public <T> void collectAnnotatedMethodValues(Object test,
                                                 Class<? extends Annotation> annotationClass,
                                                 Class<T> valueClass,
                                                 MemberValueConsumer<T> consumer)

  Finds the methods annotated with the specified annotation and returning the specified type, invokes it and pass the return value to the specified consumer.

  Since:
    4.13

### isPublic

    public boolean isPublic()

### isANonStaticInnerClass

    public boolean isANonStaticInnerClass()

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### equals

    public boolean equals(Object obj)

  Overrides:
    `equals` in class `Object`

Copyright © 2002–2020 JUnit. All rights reserved.