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
report:
enable: true
scm:
range:
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 org.arquillian.smart.testing
- org.arquillian.smart.testing » core jar javadoc pom
- org.arquillian.smart.testing » surefire-provider jar javadoc pom
- org.arquillian.smart.testing » junit-test-result-parser jar javadoc pom
- org.arquillian.smart.testing » strategy-affected jar javadoc pom
- org.arquillian.smart.testing » strategy-changed jar javadoc pom
- org.arquillian.smart.testing » strategy-failed jar javadoc pom
- org.arquillian.smart.testing » maven-lifecycle-extension jar javadoc pom
- org.arquillian.smart.testing » git-rules jar javadoc pom
- org.arquillian.smart.testing » smart-testing-test-bed jar javadoc pom
Release notes and resolved issues 16
- Component: Core
-
- #231 Strategies should use Configuration provided by SmartTesting API
- #228 ChangeResolver and ChangeStorage should use correct project directory path
- #201 The Surefire logger instance should be retieved using reflection
- #133 Align ST Logger also with Maven logging format
- #113 Introduce YAML configuration file
- Component: Maven
-
- #230 Use LocalStorage api to write modified pom.xml
- #219 Should delete target directory completely for mvn clean if configuration file has debug true enabled
- #218 NoSuchMethodError `ProviderParameters.getConsoleLogger()` with surefire 2.20.1
- #217 Smart Testing should run with project which has SCM setup, but doesn't have single commit
- #196 The installation script should check if there is a pom.xml
- #175 Shaded extension doesn't work with older versions of Maven
- #173 Enable autocorrect for mistyped strategy
- #144 Should produce reports when debug mode enabled
- Component: Test Bed
- Component: Selection
Thanks to the following list of contributors: Matous Jobanek, Dipak Pawar, Hemani, Bartosz Majsak, Alex Soto