Class NestedMethodSelector

java.lang.Object
org.junit.platform.engine.discovery.NestedMethodSelector
All Implemented Interfaces:
DiscoverySelector

@API(status=STABLE, since="1.6") public class NestedMethodSelector extends Object implements DiscoverySelector
A DiscoverySelector that selects a nested Method or a combination of enclosing classes names, class name, method name, and parameter types so that TestEngines can discover tests or containers based on methods.

If a Java Method is provided, the selector will return that method and its method name, class name, enclosing classes names and parameter types accordingly. If class or methods names are provided, this selector will only attempt to lazily load the Class and Method if getEnclosingClasses(), getNestedClass() or getMethod() is invoked.

In this context, a Java Method means anything that can be referenced as a Method on the JVM — for example, methods from Java classes or methods from other JVM languages such Groovy, Scala, etc.

Since:
1.6
See Also:
DiscoverySelectors.selectNestedMethod(List, String, String), DiscoverySelectors.selectNestedMethod(List, String, String, String), DiscoverySelectors.selectNestedMethod(List, Class, String), DiscoverySelectors.selectNestedMethod(List, Class, String, String), DiscoverySelectors.selectNestedMethod(List, Class, Method), MethodSource, NestedClassSelector, MethodSelector
  • Method Details

    • getEnclosingClassNames

      public List<String> getEnclosingClassNames()
      Get the names of the classes enclosing the nested class containing the selected method.
    • getEnclosingClasses

      public List<Class<?>> getEnclosingClasses()
      Get the list of Class enclosing the nested Class containing the selected Method.

      If the Class were not provided, but only the name of the nested class and its enclosing classes, this method attempts to lazily load the list of enclosing Class and throws a PreconditionViolationException if the classes cannot be loaded.

    • getNestedClassName

      public String getNestedClassName()
      Get the name of the nested class containing the selected method.
    • getNestedClass

      public Class<?> getNestedClass()
      Get the nested Class containing the selected Method.

      If the Class were not provided, but only the name of the nested class and its enclosing classes, this method attempts to lazily load the nested Class and throws a PreconditionViolationException if the class cannot be loaded.

    • getMethodName

      public String getMethodName()
      Get the name of the selected method.
    • getMethod

      public Method getMethod()
      Get the selected Method.

      If the Method was not provided, but only the name, this method attempts to lazily load the Method based on its name and throws a PreconditionViolationException if the method cannot be loaded.

    • getMethodParameterTypes

      public String getMethodParameterTypes()
      Get the parameter types for the selected method as a String, typically a comma-separated list of primitive types, fully qualified class names, or array types.

      Note: the parameter types are provided as a single string instead of a collection in order to allow this selector to be used in a generic fashion by various test engines. It is therefore the responsibility of the caller of this method to determine how to parse the returned string.

      Returns:
      the parameter types supplied to this NestedMethodSelector via a constructor or deduced from a Method supplied via a constructor; never null
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object