Skip to content

Releases: approvals/ApprovalTests.Java

Saver2 utilities

16 Sep 17:53
Compare
Choose a tag to compare

Convinience functions for creating Savers that take 2 parameters:

Saver<Tuple<Customer, String>> mailSaver = Saver2.create(mailServer::sendMessage);

We also believe we made approvlatests again compatible with JDK 8.

Support for setting reporter in environment variables

12 Aug 17:45
dddfa87
Compare
Choose a tag to compare

See #520

See the documentation here.

Thanks to @FWest98 for this contribution!

Minor Improvements to JsonApprovals

11 Jul 21:24
Compare
Choose a tag to compare

Fixes for
#531 verifyAsJson() handles null LocalTimeDates.
#479 verifyJson() accepts GsonBuilder

InlineOptions.semiAutomaticWithPreviousApproved()

20 May 17:20
Compare
Choose a tag to compare

Options.addReporter(reporter)

13 May 17:23
892c2b1
Compare
Choose a tag to compare

You can call addReporter(reporter) on Options and it will open both/all reporters on test failure.

InlineOptions

06 May 18:20
Compare
Choose a tag to compare

BREAKING CHANGE

verify(result, options=Options().inline(expected, showCode=false))
verify(result, options=Options().inline(expected, showCode=true))

is now

verify(result, options=Options().inline(expected, InlineOptions.showCode(false)))
verify(result, options=Options().inline(expected))

New Features

You can now do InlineOptions.automatic() and InlineOptions.semiAutomatic().

ParseInput with 3 parameters

15 Apr 17:00
6527c11
Compare
Choose a tag to compare

Added ParseInput with 3 parameters and allows arrays as last argument for ParseInput with 2 and 3 Parameters. To understand this you might want to have a look at the python documentation.

23.0.1

27 Mar 17:03
Compare
Choose a tag to compare

Fixes

Fixed a bug where long header threw an exception

New

StringUtils.repeat(text, times);

Minor bugs with InlineApprovals + changes to StringUtils.split

07 Mar 23:00
Compare
Choose a tag to compare

This is mainly fixes to InlineApprovals. But it does contain breaking changes for StringUtils.split().

Breaking changes

StringUtils.split(String, String) no longer trims by default. To maintain previous behavior, call StringUtils.split(String, String, true).
StringUtils.split() now takes a regex as the pattern instead of a simple string.

ParseInputs

26 Feb 19:04
d96b849
Compare
Choose a tag to compare

ParseInputs

You can now write tests like

@Test
void testWithTypesTransformersAndBoth()
{
  var expected = """
      1 -> 1
      9 -> 1001
      """;
  ParseInput.from(expected)
    .withTypes(Integer.class)
    .verifyAll(Integer::toBinaryString);
}

Minor enhancements

  • Queryable.of(List) - this is an alias of Queryable.as for consistency with List.of
  • Approvals.verifyAll(List, Formatter) - already had this for arrays but not lists