Package org.gradle.api.plugins.jvm

## Interface JvmTestSuite

- All Superinterfaces:
    `Buildable`, `Named`, `TestSuite`

      @Incubating
      public interface JvmTestSuite
      extends TestSuite, Buildable

  A test suite is a collection of JVM-based tests.

  Each test suite consists of

  - A `SourceSet`
  - A set of `compile and runtime dependencies`
  - One or more `targets`
  - A testing framework

  Based on the testing framework declared, Gradle will automatically add the appropriate dependencies and configure the underlying test task.

  Since:
    7.3

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Named

      `Named.Namer`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `dependencies​(Action<? super JvmComponentDependencies> dependencies)` | Configure dependencies for this component.
    `JvmComponentDependencies` | `getDependencies()` | Dependency handler for this component.
    `SourceSet` | `getSources()` | Returns the container of `JvmTestSuiteTarget` objects part of this suite.
    `ExtensiblePolymorphicDomainObjectContainer<? extends JvmTestSuiteTarget>` | `getTargets()` | Collection of test suite targets.
    `Property<java.lang.String>` | `getTestType()` | Get the test type for this test suite.
    `void` | `sources​(Action<? super SourceSet> configuration)` | Configure the sources for this test suite.
    `void` | `useJUnit()` | Use the JUnit4 testing framework.
    `void` | `useJUnit​(java.lang.String version)` | Use the JUnit4 testing framework with a specific version.
    `void` | `useJUnit​(Provider<java.lang.String> version)` | Use the JUnit4 testing framework with a specific version.
    `void` | `useJUnitJupiter()` | Use the JUnit Jupiter testing framework.
    `void` | `useJUnitJupiter​(java.lang.String version)` | Use the JUnit Jupiter testing framework with a specific version.
    `void` | `useJUnitJupiter​(Provider<java.lang.String> version)` | Use the JUnit Jupiter testing framework with a specific version.
    `void` | `useKotlinTest()` | Use the kotlin.test testing framework.
    `void` | `useKotlinTest​(java.lang.String version)` | Use the kotlin.test testing framework with a specific version.
    `void` | `useKotlinTest​(Provider<java.lang.String> version)` | Use the kotlin.test testing framework with a specific version.
    `void` | `useSpock()` | Use the Spock Framework testing framework.
    `void` | `useSpock​(java.lang.String version)` | Use the Spock Framework testing framework with a specific version.
    `void` | `useSpock​(Provider<java.lang.String> version)` | Use the Spock Framework testing framework with a specific version.
    `void` | `useTestNG()` | Use the TestNG testing framework.
    `void` | `useTestNG​(java.lang.String version)` | Use the TestNG testing framework with a specific version.
    `void` | `useTestNG​(Provider<java.lang.String> version)` | Use the TestNG testing framework with a specific version.

    - ### Methods inherited from interface org.gradle.api.Buildable

      `getBuildDependencies`

    - ### Methods inherited from interface org.gradle.api.Named

      `getName`

- - ### Method Detail

    - #### getSources

          SourceSet getSources()

      Returns the container of `JvmTestSuiteTarget` objects part of this suite. Source set associated with this test suite. The name of this source set is the same as the test suite.
      Returns:
        source set for this test suite.

    - #### sources

          void sources​(Action<? super SourceSet> configuration)

      Configure the sources for this test suite.
      Parameters:
        `configuration` - configuration applied against the SourceSet for this test suite

    - #### getTargets

          ExtensiblePolymorphicDomainObjectContainer<? extends JvmTestSuiteTarget> getTargets()

      Collection of test suite targets. Each test suite target executes the tests in this test suite with a particular context and task.
      Specified by:
        `getTargets` in interface `TestSuite`
      Returns:
        collection of test suite targets.

    - #### getTestType

          Property<java.lang.String> getTestType()

      Get the test type for this test suite. Defaults to the value of the `UNIT_TEST` constant defined in `TestSuiteType` for the built-in test suite, and to the dash-case name of the test suite for custom test suites. Test suite types must be unique across all test suites within a project.
      Since:
        7.4

    - #### useJUnitJupiter

          void useJUnitJupiter()

      Use the JUnit Jupiter testing framework.

      Gradle will provide the version of JUnit Jupiter to use. Defaults to version `5.7.2`

    - #### useJUnitJupiter

          void useJUnitJupiter​(java.lang.String version)

      Use the JUnit Jupiter testing framework with a specific version.
      Parameters:
        `version` - version of JUnit Jupiter to use

    - #### useJUnitJupiter

          void useJUnitJupiter​(Provider<java.lang.String> version)

      Use the JUnit Jupiter testing framework with a specific version.
      Parameters:
        `version` - provider supplying the version of JUnit Jupiter to use
      Since:
        7.6

    - #### useJUnit

          void useJUnit()

      Use the JUnit4 testing framework.

      Gradle will provide the version of JUnit4 to use. Defaults to version `4.13`

    - #### useJUnit

          void useJUnit​(java.lang.String version)

      Use the JUnit4 testing framework with a specific version.
      Parameters:
        `version` - version of JUnit4 to use

    - #### useJUnit

          void useJUnit​(Provider<java.lang.String> version)

      Use the JUnit4 testing framework with a specific version.
      Parameters:
        `version` - provider supplying the version of JUnit4 to use
      Since:
        7.6

    - #### useSpock

          void useSpock()

      Use the Spock Framework testing framework.

      Gradle will provide the version of Spock to use. Defaults to version `2.1-groovy-3.0`

    - #### useSpock

          void useSpock​(java.lang.String version)

      Use the Spock Framework testing framework with a specific version.
      Parameters:
        `version` - the version of Spock to use

    - #### useSpock

          void useSpock​(Provider<java.lang.String> version)

      Use the Spock Framework testing framework with a specific version.
      Parameters:
        `version` - provider supplying the version of Spock to use
      Since:
        7.6

    - #### useKotlinTest

          void useKotlinTest()

      Use the kotlin.test testing framework.

      Gradle will provide the version of kotlin.test to use. Defaults to version `1.6.20`

    - #### useKotlinTest

          void useKotlinTest​(java.lang.String version)

      Use the kotlin.test testing framework with a specific version.
      Parameters:
        `version` - the version of kotlin.test to use

    - #### useKotlinTest

          void useKotlinTest​(Provider<java.lang.String> version)

      Use the kotlin.test testing framework with a specific version.
      Parameters:
        `version` - provider supplying the version of kotlin.test to use
      Since:
        7.6

    - #### useTestNG

          void useTestNG()

      Use the TestNG testing framework.

      Gradle will provide the version of TestNG to use. Defaults to version `7.4.0`

    - #### useTestNG

          void useTestNG​(java.lang.String version)

      Use the TestNG testing framework with a specific version.
      Parameters:
        `version` - version of TestNG to use

    - #### useTestNG

          void useTestNG​(Provider<java.lang.String> version)

      Use the TestNG testing framework with a specific version.
      Parameters:
        `version` - provider supplying the version of TestNG to use
      Since:
        7.6

    - #### getDependencies

          JvmComponentDependencies getDependencies()

      Dependency handler for this component.
      Returns:
        dependency handler

    - #### dependencies

          void dependencies​(Action<? super JvmComponentDependencies> dependencies)

      Configure dependencies for this component.