Smart Testing 0.0.2 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.2 release of the Smart Testing component!
Highlights of this release
After a week since our very first release we have a brand new one! This time with several improvements and bug fixes, namely:
- simplified installation process
- hinting available strategies when misspelled in the configuration
- ability to narrow search for affected tests
- improved documentation
Simplified getting started
Even though installation process is very simple, we are huge fans of automation. So we created one liner which will take care of adding Smart Testing to your project.
Simply execute following snippet and you are ready to go.
$ curl -sSL https://git.io/v5jy6 | bash
Hinting available strategies
It might happen that you misspell a strategy when executing the build. For example:
$ mvn clean verify -Dsmart.testing=new,change,afected
This will lead to a failing build, but instead of leaving you with not just an exception thrown at your face and documentation to dig into, we are now hinting to matching strategies. With 0.0.2
you will see instead:
Unable to find strategy [afected]. Did you mean [affected]?
Unable to find strategy [change]. Did you mean [changed]?
Affected tests
Affected is one of the strategies in Smart Testing which let you find tests related to business code you have just changed. By default we transitively look up all related tests, but this can lead to a lot of tests being prioritized. Especially if you have deep hierarchies in your project.
To find only immediate related tests we have introduced a configuration option smart.testing.affected.transitivity
which you can set to false
.
Asciidoctor Extensions
We’ve created two Asciidoctor extensions to make documentation more resilient to changes and also to simplify the copy-paste process from documentation to your terminal.
First extension allows you to reference constants in the documentation from source code. For example to get the value represented by SMART_TESTING_MODE
constant, add const
macro in your document:
const:core/src/main/java/org/arquillian/smart/testing/Configuration.java[name="SMART_TESTING_MODE"]
Second extension brings copy-to-clipboard button in the rendered docs. To add it, simply use copyToClipboard
macro:
[[singleTest]]
`mvn test -Dtest=SampleTest` copyToClipboard:singleTest[]
What’s next
We are working hard on the next release which will bring simplified configuration 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.2 view tag |
Release date | 2017-09-26 |
Released by | Bartosz Majsak |
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 21
- Component: Test Bed
- Component: Core
-
- #192 Not so helpful exceptions thrown when invalid commits are specified
- #185 Full support for OSX in install.sh
- #184 Basic support for OSX in install.sh
- #158 There is not need to have report name/directory customizable
- #157 There should be one logic/api that takes care of all files to be stored during/after test execution
- #146 Improve quick start experience (installation script)
- Component: Maven
-
- #179 Some tests are not executable from the IDE
- #170 Suggest closest matching strategy when mispelled
- #168 .smart-testing folder is not removed if JVM is stopped
- #167 NPE is thrown is strategy is mispelled
- #166 Running affected strategy on assertj executes almost all test cases
- #165 Affected strategy analyze .class files when target dir not ignored
- Component: Documentation
-
- #177 Add section about how to use it in Jenkins
- #163 Simplify documentation generation process
- #154 Update documentation with copy to clipboard extension
- #151 Create an Asciidoctor extension that adds a copy to clipboard button
- #149 Update documentation to use const extension
- #147 We should version documentation
- Component: Selection
Thanks to the following list of contributors: Bartosz Majsak, Alex Soto, Matous Jobanek, Dipak Pawar