New rules and pricing model for jSparrow

The winter solstice jSparrow release arrives with plenty of new features providing a new flexible licensing model, extending the set of jSparrow Markers, and opening a new chapter on jSparrow rules for AssertJ.

NEW: jSparrow Pay-Per-Use License Model

After talking to our customers we are announcing the possibility that customers can use jSparrow as they would like to: clear costs and unrestricted use. You can choose between a 50 or 100 Euro pre-paid voucher, and you will get a package of 675 or 1.350 credits for automatic code fixes.

How is a credit calculated? For each usage, we charge the credits quoted as remediation cost for the selected rule.

Customers loved the idea of being flexible with our tool. For more details please read our documentation, give us a call, or respond to this mail.

More jSparrow Markers

Ten additional markers are now available in jSparrow. Furthermore, a new preference page allows users to activate the preferred jSparrow Markers.

Chain AssertJ AssertThat Statements

AssertJ encourages writing fluent test cases by chaining the assertions that target the same object instead of invoking assertThat multiple times. This rule replaces consecutive AssertJ assertThat invocations targeting the same object with an assertion chain. Thus, eliminating some redundant code and increasing the readability of test cases.

Pre

assertThat(expectedHelloWorld).isNotNull();

assertThat(expectedHelloWorld).isNotEmpty();

assertThat(expectedHelloWorld).startsWith(“Hello”);

assertThat(expectedHelloWorld).contains(” “);

assertThat(expectedHelloWorld).contains(“World”);

assertThat(expectedHelloWorld).endsWith(“!”);

Post

assertThat(expectedHelloWorld)

.isNotNull()

.isNotEmpty()

.startsWith(“Hello”)

.contains(” “)

.contains(“World”)

.endsWith(“!”);

Shift AssertJ Description Before Assertion

AssertJ provides methods for setting descriptions or error messages of assertions, e.g.: as, describedAs, withFailMessage, and overridingErrorMessage. These methods should always be invoked before the actual assertion they intend to describe, otherwise, they have no effect. This rule, swaps the invocation of the assertions with the invocation of the descriptions setting for the corresponding assertions.

Pre

assertThat(user.getName())

.isEqualTo(“John“)

.describedAs(“Asserting the correct name“);

Post

assertThat(user.getName())

.describedAs(“Asserting the correct name“);

.isEqualTo(“John“)

jSparrow provides now a total of 107 automatic refactoring rules. Find out more information in the Release Notes for jSparrow Eclipse and jSparrow Maven!

“Optimism is an occupational hazard of programming: testing is the treatment.” ― Kent Beck

Happy Coding!

Leave a Reply

Your email address will not be published. Required fields are marked *