Smart Testing 0.0.3 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 0.0.3 release of the Smart Testing component!

Highlights of this release

After one month of hard work we bring you the third release of Smart Testing tool!
Apart from several small improvements, component upgrades, and bug fixes, this release contains one killer feature and one convenient feature that will make your life easier.

Configuration file

In previous releases, there was only one way of configuring the tool – through system properties. As we started introducing more options, we quickly realized that this is definitely not the most pleasant way of setting up the tool. From now on you can also use YAML configuration file.
The name of the file should be either smart-testing.yml or smart-testing.yaml and should be located in the root of the directory the build is executed from. Here’s an example:

strategies: new, changed, affected
mode: ordering
applyTo: surefire
debug: true
    enable: true
      head: HEAD
      tail: HEAD~2

We are keeping the names as it is done for the system properties, just without the prefix smart.testing. This means that when you want to activate a set of strategies on a command line, then you should use the system property smart.testing.strategies. As you can see in the example, in the configuration file it is just strategies. Analogically for other parameters.

The system properties are not going away. When both system properties and the configuration file are used, the values defined by system properties have the precedence. This can be helpful when your Smart Testing setup is shared in your scm but you want to have special settings for different stages of CI pipeline.

Autocorrection of mistyped strategy names

It might happen that you misspell a strategy when executing the build. For example:

$ mvn clean verify -Dsmart.testing=new,change,afected

It can take you a second or two to notice why this will lead to a failing build with some hints in the error message. To save time (and headaches) you can activate the autocorrection feature by setting smart.testing.autocorrect=true on a command line or just autocorrect: true in the config file. If it is set, the mistyped name is automatically corrected and the affected strategy is used. In this case afected should be affected.

What’s next

We are working hard on the next release which will bring JUnit 5 support, a possibility of configuring custom strategies and many more cool features! Stay tuned!

What is Smart Testing?

Smart Testing is a tool that speeds up the test running phase by reordering test execution plan to increase a probability of fail-fast execution and thus give you faster feedback about your project’s health.

Release details

Component Smart Testing
Version 0.0.3 view tag
Release date 2017-10-23
Released by Matous Jobanek
Compiled against

Published artifacts

  • » core jar javadoc pom
  • » surefire-provider jar javadoc pom
  • » junit-test-result-parser jar javadoc pom
  • » strategy-affected jar javadoc pom
  • » strategy-changed jar javadoc pom
  • » strategy-failed jar javadoc pom
  • » maven-lifecycle-extension jar javadoc pom
  • » git-rules jar javadoc pom
  • » smart-testing-test-bed jar javadoc pom

Release notes and resolved issues 16

Component: Core
Component: Maven
Component: Test Bed
Component: Selection

Thanks to the following list of contributors: Matous Jobanek, Dipak Pawar, Hemani, Bartosz Majsak, Alex Soto