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.
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.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
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.
|Version||0.0.3 view tag|
|Released by||Matous Jobanek|
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