anchor.diff:  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]]
  -== 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> All targets of the `test` test suite will use the TestNG framework
  -<2> Lazily configure all targets of the suite; note the return type of `testTask` is `TaskProvider<Test>`.
  -<3> More detailed options of the specific test framework can be configured here.  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`
  +<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`
   
   
  -== Configuring dependencies of a suite
  +== 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> Configuration action for the built-in `test` suite.
  +<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.
   
  -== Configuring source directories of a suite
  +== 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]"]
  
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: A test suite is a collection of JVM-based tests.
  
  ==== Test Suite Target ====
  For the initial release of this plugin, each test suite has a single target.  This results in a 1:1:1 relationship between test suite, test suite target and a matching link:{groovyDslPath}/org.gradle.api.tasks.testing.Test.html[Test] task.  The name of the `Test` task is derived from the suite name.  Future iterations of the plugin will allow defining multiple targets based other attributes, such as a particular JDK/JRE runtime.
  
  Each test suite has some configuration that is common across for all tests contained in the suite:
  
  