This module contains integration tests covering the build tools API implementation using the DSL built on top of the Build Tools API.
To run all tests use the check
task.
The module defines test suites using the jvm-test-suite
plugin.
./gradlew :compiler:build-tools:kotlin-build-tools-api-tests:testCompatibility1.9.20
to run the tests against BTA implementation 1.9.20./gradlew :compiler:build-tools:kotlin-build-tools-api-tests:testCompatibilitySnapshot
to run the tests against the current BTA implementation./gradlew :compiler:build-tools:kotlin-build-tools-api-tests:testEscapableCharacters
to run themcheck
task./gradlew :compiler:build-tools:kotlin-build-tools-api-tests:testExample
to run themFew rules you should follow while writing tests:
@DisplayName(...)
with meaningful description both for test class and methods inside. This will allow developers easier to understand what test is about.businessLogicTestSuits
in the build.gradle.kts@TestMetadata(...)
annotation to provide convenient Intellij IDEA navigation to the test data. It does not support navigation to multiple test data locations, thus please put a link to at least one tested moduleThe rules specific to compilation tests:
DefaultStrategyAgnosticCompilationTest
annotation if the test is expected to perform exactly the same using the daemon or in-process compiler execution strategy.CompilationService.makeCompilerExecutionStrategyConfiguration()
The incremental compilation tests written using the scenario DSL are subject to some optimizations and automatic checks, allowing you to avoid boilerplate.
Please refer to the example test class for more information