Skip to content
JSR 385 - Technology Compatibility Kit (TCK)
Branch: master
Clone or download

Latest commit

keilw 33: Update TestNG
Task-Url: #33
Latest commit 74053da Mar 7, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.


JSR 385 Technology Compatibility Kit (TCK)

Download Circle CI Stability: Active License

The current module contains the technology compatibility kit of JSR 385.

To setup the TCK with your implementation you must follow the following steps:

  1. Create a new Maven project. You could also use compatible alternatives like Gradle.
  2. Add this TCK and your implementation as dependency.
  3. Implement a class of type tech.units.tck.TestSetup, read the Javadoc, what you must provide with this class.


To run the TCK, simply execute

mvn clean test
  1. Go to target - where you can find your TCK test results.

For help on using the TCK you may execute

mvn exec:java

This will only print instructions, to run the TCK you need to execute it through TestNG.

To get version information you may execute

mvn exec:java -Pversion


When running the TCK (mvn test) by calling the system property


you may select one of the following profiles:

  • SPI
  • FULL

The Full profile is default whenever you don't explicitly pass a profile. You may pass the profile name in either case, TCKRunner will automatically convert them to UPPERCASE before parsing the name of the profile.

Other System Properties

In addition to profiles, the following system properties allow you to override default behavior and storage locations of the TCK:

-Dtech.units.tck.outputDir=<output directory>

To override the default output directory

-Dtech.units.tck.reportFile=<file name>

To override the default TCK report file


To toggle the verbose option of the TCK for extended test output. The default is false. And you normally won't need to set this unless you require detailed analysis or issue resolution.


Starting with release 1.1 the groupId of this Parent POM changes from a "virtual" domain tec.units to tech.units. Laying the ground for the 2.x releases.

You can’t perform that action at this time.