Package org.junit.jupiter.api


package org.junit.jupiter.api
JUnit Jupiter API for writing tests.
  • Interface Summary
    Interface
    Description
    ClassDescriptor encapsulates functionality for a given Class.
    ClassOrderer defines the API for ordering the top-level test classes, without considering nested test classes.
    ClassOrdererContext encapsulates the context in which a ClassOrderer will be invoked.
    DisplayNameGenerator defines the SPI for generating display names programmatically.
    MethodDescriptor encapsulates functionality for a given Method.
    MethodOrderer defines the API for ordering the test methods in a given test class.
    MethodOrdererContext encapsulates the context in which a MethodOrderer will be invoked.
    Named is a container that associates a name with a given payload.
    RepetitionInfo is used to inject information about the current repetition of a repeated test into @RepeatedTest, @BeforeEach, and @AfterEach methods.
    TestInfo is used to inject information about the current test or container into to @Test, @RepeatedTest, @ParameterizedTest, @TestFactory, @BeforeEach, @AfterEach, @BeforeAll, and @AfterAll methods.
    Parameters of type TestReporter can be injected into @BeforeEach and @AfterEach lifecycle methods as well as methods annotated with @Test, @RepeatedTest, @ParameterizedTest, @TestFactory, etc.
  • Class Summary
    Class
    Description
    Assertions is a collection of utility methods that support asserting conditions in tests.
    Assumptions is a collection of utility methods that support conditional test execution based on assumptions.
    ClassOrderer that sorts classes alphanumerically based on their fully qualified names using String.compareTo(String).
    ClassOrderer that sorts classes alphanumerically based on their display names using String.compareTo(String)
    ClassOrderer that sorts classes based on the @Order annotation.
    ClassOrderer that orders classes pseudo-randomly.
    DisplayNameGenerator that generates complete sentences.
    DisplayNameGenerator that replaces underscores with spaces.
    Simple DisplayNameGenerator that removes trailing parentheses for methods with no parameters.
    Standard DisplayNameGenerator.
    A DynamicContainer is a container generated at runtime.
    DynamicNode serves as the abstract base class for a container or a test case generated at runtime.
    A DynamicTest is a test case generated at runtime.
    Deprecated.
    as of JUnit Jupiter 5.7 in favor of MethodOrderer.MethodName; to be removed in 6.0
    MethodOrderer that sorts methods alphanumerically based on their display names using String.compareTo(String)
    MethodOrderer that sorts methods alphanumerically based on their names using String.compareTo(String).
    MethodOrderer that sorts methods based on the @Order annotation.
    MethodOrderer that orders methods pseudo-randomly.
  • Enum Class Summary
    Enum Class
    Description
    Enumeration of test instance lifecycle modes.
  • Annotation Interfaces Summary
    Annotation Interface
    Description
    @AfterAll is used to signal that the annotated method should be executed after all tests in the current test class.
    @AfterEach is used to signal that the annotated method should be executed after each @Test, @RepeatedTest, @ParameterizedTest, @TestFactory, and @TestTemplate method in the current test class.
    @BeforeAll is used to signal that the annotated method should be executed before all tests in the current test class.
    @BeforeEach is used to signal that the annotated method should be executed before each @Test, @RepeatedTest, @ParameterizedTest, @TestFactory, and @TestTemplate method in the current test class.
    @Disabled is used to signal that the annotated test class or test method is currently disabled and should not be executed.
    @DisplayName is used to declare a custom display name for the annotated test class or test method.
    @DisplayNameGeneration is used to declare a custom display name generator for the annotated test class.
    @IndicativeSentencesGeneration is used to declare a custom parameters by IndicativeSentences, if this notation has some not declared parameters, it will use the default values instead.
    @Nested is used to signal that the annotated class is a nested, non-static test class (i.e., an inner class) that can share setup and state with an instance of its enclosing class.
    @Order is an annotation that is used to configure the order in which the annotated element (i.e., field, method, or class) should be evaluated or executed relative to other elements of the same category.
    @RepeatedTest is used to signal that the annotated method is a test template method that should be repeated a specified number of times with a configurable display name.
    @Tag is a repeatable annotation that is used to declare a tag for the annotated test class or test method.
    @Tags is a container for one or more @Tag declarations.
    @Test is used to signal that the annotated method is a test method.
    @TestFactory is used to signal that the annotated method is a test factory method.
    @TestInstance is a type-level annotation that is used to configure the lifecycle of test instances for the annotated test class or test interface.
    @TestMethodOrder is a type-level annotation that is used to configure a MethodOrderer for the test methods of the annotated test class or test interface.
    @TestTemplate is used to signal that the annotated method is a test template method.
    @Timeout is used to define a timeout for a method or all testable methods within one class and its @Nested classes.