Package org.junit.jupiter.api
JUnit Jupiter API for writing tests.
-
Interface Summary Interface Description Assertions.TimeoutFailureFactory<T extends java.lang.Throwable> Factory for timeout failures.ClassDescriptor ClassDescriptorencapsulates functionality for a givenClass.ClassOrderer ClassOrdererdefines the API for ordering top-level test classes and@Nestedtest classes.ClassOrdererContext ClassOrdererContextencapsulates the context in which aClassOrdererwill be invoked.DisplayNameGenerator DisplayNameGeneratordefines the SPI for generating display names programmatically.MethodDescriptor MethodDescriptorencapsulates functionality for a givenMethod.MethodOrderer MethodOrdererdefines the API for ordering the test methods in a given test class.MethodOrdererContext MethodOrdererContextencapsulates the context in which aMethodOrdererwill be invoked.Named<T> Namedis a container that associates a name with a given payload.NamedExecutable NamedExecutablejoinsExecutableandNamedin a one self-typed functional interface.RepetitionInfo RepetitionInfois used to inject information about the current repetition of a repeated test into@RepeatedTest,@BeforeEach, and@AfterEachmethods.TestInfo TestInfois used to inject information about the current test or container into to@Test,@RepeatedTest,@ParameterizedTest,@TestFactory,@BeforeEach,@AfterEach,@BeforeAll, and@AfterAllmethods.TestReporter Parameters of typeTestReportercan be injected into@BeforeEachand@AfterEachlifecycle methods as well as methods annotated with@Test,@RepeatedTest,@ParameterizedTest,@TestFactory, etc. -
Class Summary Class Description AssertionFailureBuilder Builder forAssertionFailedErrors.Assertions Assertionsis a collection of utility methods that support asserting conditions in tests.Assumptions Assumptionsis a collection of utility methods that support conditional test execution based on assumptions.ClassOrderer.ClassName ClassOrdererthat sorts classes alphanumerically based on their fully qualified names usingString.compareTo(String).ClassOrderer.DisplayName ClassOrdererthat sorts classes alphanumerically based on their display names usingString.compareTo(String)ClassOrderer.OrderAnnotation ClassOrdererthat sorts classes based on the@Orderannotation.ClassOrderer.Random ClassOrdererthat orders classes pseudo-randomly.DisplayNameGenerator.IndicativeSentences DisplayNameGeneratorthat generates complete sentences.DisplayNameGenerator.ReplaceUnderscores DisplayNameGeneratorthat replaces underscores with spaces.DisplayNameGenerator.Simple SimpleDisplayNameGeneratorthat removes trailing parentheses for methods with no parameters.DisplayNameGenerator.Standard StandardDisplayNameGenerator.DynamicContainer ADynamicContaineris a container generated at runtime.DynamicNode DynamicNodeserves as the abstract base class for a container or a test case generated at runtime.DynamicTest ADynamicTestis a test case generated at runtime.MediaType Represents a media type as defined by RFC 2045.MethodOrderer.Alphanumeric Deprecated. as of JUnit Jupiter 5.7 in favor ofMethodOrderer.MethodName; to be removed in 6.0MethodOrderer.DisplayName MethodOrdererthat sorts methods alphanumerically based on their display names usingString.compareTo(String)MethodOrderer.MethodName MethodOrdererthat sorts methods alphanumerically based on their names usingString.compareTo(String).MethodOrderer.OrderAnnotation MethodOrdererthat sorts methods based on the@Orderannotation.MethodOrderer.Random MethodOrdererthat orders methods pseudo-randomly. -
Enum Summary Enum Description TestInstance.Lifecycle Enumeration of test instance lifecycle modes.Timeout.ThreadMode ThreadModeis used to define whether test code should be executed in the thread of the calling code or in a separate thread. -
Annotation Types Summary Annotation Type Description AfterAll @AfterAllis used to signal that the annotated method should be executed after all tests in the current test class.AfterEach @AfterEachis used to signal that the annotated method should be executed after each@Test,@RepeatedTest,@ParameterizedTest,@TestFactory, and@TestTemplatemethod in the current test class.AutoClose @AutoCloseis used to indicate that an annotated field will be automatically closed after test execution.BeforeAll @BeforeAllis used to signal that the annotated method should be executed before all tests in the current test class.BeforeEach @BeforeEachis used to signal that the annotated method should be executed before each@Test,@RepeatedTest,@ParameterizedTest,@TestFactory, and@TestTemplatemethod in the current test class.ClassTemplate @ClassTemplateis used to signal that the annotated class is a class template.Disabled @Disabledis used to signal that the annotated test class or test method is currently disabled and should not be executed.DisplayName @DisplayNameis used to declare a custom display name for the annotated test class or test method.DisplayNameGeneration @DisplayNameGenerationis used to declare a custom display name generator for the annotated test class.DisplayNameGenerator.IndicativeSentences.SentenceFragment @SentenceFragmentis used to configure a custom sentence fragment for a sentence generated by theIndicativeSentencesDisplayNameGenerator.IndicativeSentencesGeneration @IndicativeSentencesGenerationis used to register theDisplayNameGenerator.IndicativeSentencesdisplay name generator and configure it.Nested @Nestedis 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 @Orderis 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 @RepeatedTestis 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 and an optional failure threshold.Tag @Tagis a repeatable annotation that is used to declare a tag for the annotated test class or test method.Tags @Tagsis a container for one or more@Tagdeclarations.Test @Testis used to signal that the annotated method is a test method.TestClassOrder @TestClassOrderis a type-level annotation that is used to configure aClassOrdererfor the@Nestedtest classes of the annotated test class.TestFactory @TestFactoryis used to signal that the annotated method is a test factory method.TestInstance @TestInstanceis a type-level annotation that is used to configure the lifecycle of test instances for the annotated test class or test interface.TestMethodOrder @TestMethodOrderis a type-level annotation that is used to configure aMethodOrdererfor the test methods of the annotated test class or test interface.TestTemplate @TestTemplateis used to signal that the annotated method is a test template method.Timeout @Timeoutis used to define a timeout for a method or all testable methods within one class and its@Nestedclasses.