anchor.diff:  `test` — link:{groovyDslPath}/org.gradle.api.tasks.testing.Test.html[Test]::
   _Depends on_: `testClasses` from the `java` plugin, and all tasks which produce the test runtime classpath
   +
  -Runs the unit tests using JUnit by default; can be configured for other frameworks.
  +Runs the tests using JUnit by default but can be configured for other frameworks.
   
   Additional instances of link:{groovyDslPath}/org.gradle.api.tasks.testing.Test.html[Test] tasks will be automatically created for each test suite added via the `testing` extension.
   
  
positive.code: 
  Here are several examples to illustrate the configurability of test suites.
  
  == Declaring an additional test suite
  ====
  include::sample[dir="snippets/testing/test-suite-plugin/groovy",files="build.gradle[tags=configure-testing-extension]"]
  include::sample[dir="snippets/testing/test-suite-plugin/kotlin",files="build.gradle.kts[tags=configure-testing-extension]"]
  
negative.code: Note that all tasks synthesized by the registration of the `integrationTest` suite (`compileIntegrationTestJava`, `processIntegrationTestResources`, `integrationTestClasses` and `integrationTest`) do not run until after the `test` suite completes its tasks.
  
  [[sec:configuring_the_built_in_test_suite]]
  == Configure the built-in `test` suite
  ====
  include::sample[dir="snippets/testing/test-suite-configure-default-suite/groovy",files="build.gradle[tags=configure-default-suite]"]
  include::sample[dir="snippets/testing/test-suite-configure-default-suite/kotlin",files="build.gradle.kts[tags=configure-default-suite]"]
  ====
  
  // TODO test with `./gradlew :docs:docsTest --tests "*test-suite-configure-default-suite*"`
  <1> Declare the `test` test suite uses the TestNG test framework.
  <2> Lazily configure the test task of all targets of the suite; note the return type of `testTask` is `TaskProvider<Test>`.
  <3> Configure more detailed test framework options.  The `options` will be a subclass of `org.gradle.api.tasks.testing.TestFrameworkOptions`, in this case it is `org.gradle.api.tasks.testing.testng.TestNGOptions`
  
  
  == Configure dependencies of a test suite
  ====
  include::sample[dir="snippets/testing/test-suite-configure-suite-dependencies/groovy",files="build.gradle[tags=configure-suite-dependencies]"]
  include::sample[dir="snippets/testing/test-suite-configure-suite-dependencies/kotlin",files="build.gradle.kts[tags=configure-suite-dependencies]"]
  ====
  
  // TODO test with `./gradlew :docs:docsTest --tests "*test-suite-configure-suite-dependencies*"`
  <1> Configure the built-in `test` test suite.
  <2> Add the assertj library to the test's compile and runtime classpaths.  The `dependencies` block within a test suite is already scoped for that test suite.  Instead of having to know the global name of the configuration, test suites have a consistent name that you use in this block for declaring `implementation`, `compileOnly` and `runtimeOnly` dependencies.
  
  == Configure source directories of a test suite
  ====
  include::sample[dir="snippets/testing/test-suite-configure-source-dir/groovy",files="build.gradle[tags=configure-source-dir]"]
  include::sample[dir="snippets/testing/test-suite-configure-source-dir/kotlin",files="build.gradle.kts[tags=configure-source-dir]"]
  