snapshot-tests

Convenient snapshot testing for Java

MIT License

Stars
12

Bot releases are visible (Hide)

snapshot-tests - v1.10.1 Latest Release

Published by skuzzle over 1 year ago

Migration Info:

Note
The following modules have been deprecated: snapshot-tests-jackson, snapshot-tests-jaxb and
snapshot-tests-jaxb-jakarta. New drop-in replacements are provided via snapshot-tests-json,
snapshpt-tests-xml-legacy and snapshot-tests-xml. (See also:
#67)

Important: These new modules come with slightly different Automatic-Module-Name. If you are using JPMS you need to
adjust your module-info.java when upgrading.

The deprecated modules will be removed with the next major version!

Note
When upgrading from a version prior to 1.8.0, instead of depending on snapshot-tests-core you should now
either depend on snapshot-tests-junit5 or snapshot-tests-junit4.
This will become mandatory with the next major version!

Changes

  • #93: Fix bug in determining the line ending from git

Reference Documentation

Reference

Reference documentation for this release: https://skuzzle.github.io/snapshot-tests/reference/1.10.1

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.10.1</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.10.1"))

Artifacts

Choose a test framework

ℹ️ All options include support for plain text snapshots.

If you are using JUnit5:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-junit5</artifactId>
    <version>1.10.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-junit5:1.10.1")

If you are using JUnit4:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-junit4</artifactId>
    <version>1.10.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-junit4:1.10.1")

Choose a snapshot format (optional)

If you want JSON based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-json</artifactId>
    <version>1.10.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-json:1.10.1")

If you want XML based snapshots using jaxb and legacy javax.xml namespaces:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-xml-legacy</artifactId>
    <version>1.10.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-xml-legacy:1.10.1")

If you want XML based snapshots using jaxb new jakarta.xml namespaces:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-xml</artifactId>
    <version>1.10.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-xml:1.10.1")

If you want HTML based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-html</artifactId>
    <version>1.10.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-html:1.10.1")

Additional utilities

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.10.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.10.1")

Diff-Tool

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>diff-tool</artifactId>
    <version>1.10.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:diff-tool:1.10.1")

Object normalization (⚠️ Experimental⚠)

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.10.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.10.1")
snapshot-tests - v1.10.0

Published by skuzzle over 1 year ago

Migration Info:

Note
The following modules have been deprecated: snapshot-tests-jackson, snapshot-tests-jaxb and
snapshot-tests-jaxb-jakarta. New drop-in replacements are provided via snapshot-tests-json,
snapshpt-tests-xml-legacy and snapshot-tests-xml. (See also:
#67)

Important: These new modules come with slightly different Automatic-Module-Name. If you are using JPMS you need to
adjust your module-info.java when upgrading.

The deprecated modules will be removed with the next major version!

Note
When upgrading from a version prior to 1.8.0, instead of depending on snapshot-tests-core you should now
either depend on snapshot-tests-junit5 or snapshot-tests-junit4.
This will become mandatory with the next major version!

Changes

  • #67: Fix inconsistent naming of structured data modules

  • #60: Internal API for plugging in test-framework specific behavior

  • #80: Use spotless and reformat whole code base

  • #87: Allow to configure diff format

  • #88: Extract diff creation into own module

  • #44/#90: Add possibility to normalize line endings (according to local git config)

  • Update to jsonassert 1.5.1 (coming from 1.5.0)

  • List notable changes since last release in reference documentation

Reference Documentation

Reference

Reference documentation for this release: https://skuzzle.github.io/snapshot-tests/reference/1.10.0

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.10.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.10.0"))

Artifacts

Choose a test framework

ℹ️ All options include support for plain text snapshots.

If you are using JUnit5:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-junit5</artifactId>
    <version>1.10.0</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-junit5:1.10.0")

If you are using JUnit4:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-junit4</artifactId>
    <version>1.10.0</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-junit4:1.10.0")

Choose a snapshot format (optional)

If you want JSON based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-json</artifactId>
    <version>1.10.0</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-json:1.10.0")

If you want XML based snapshots using jaxb and legacy javax.xml namespaces:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-xml-legacy</artifactId>
    <version>1.10.0</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-xml-legacy:1.10.0")

If you want XML based snapshots using jaxb new jakarta.xml namespaces:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-xml</artifactId>
    <version>1.10.0</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-xml:1.10.0")

If you want HTML based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-html</artifactId>
    <version>1.10.0</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-html:1.10.0")

Additional utilities

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.10.0</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.10.0")

Diff-Tool

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>diff-tool</artifactId>
    <version>1.10.0</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:diff-tool:1.10.0")

Object normalization (⚠️ Experimental⚠)

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.10.0</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.10.0")
snapshot-tests - v1.9.2

Published by skuzzle over 1 year ago

Migration Info:

Note
When upgrading from a version prior to 1.8.0, instead of depending on snapshot-tests-core you should now
either depend on snapshot-tests-junit5 or snapshot-tests-junit4.
This will become mandatory with the next major version!

Check the resp. section in the README!

Fixes

  • #76: Improved lazy XPath rule configuration
  • #77: Small XPath performance optimization
  • #78: Throw AssertionError only once
  • #79: Filter out internal stack frames from all AssertionErrors

Build

  • #75: Use Project.copy instead of Copy task

Reference Documentation

Reference

Reference documentation for this release: https://skuzzle.github.io/snapshot-tests/reference/1.9.2

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.9.2</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.9.2"))

Artifacts

Choose a test framework

ℹ️ All options include support for plain text snapshots.

If you are using JUnit5:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-junit5</artifactId>
    <version>1.9.2</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-junit5:1.9.2")

If you are using JUnit4:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-junit4</artifactId>
    <version>1.9.2</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-junit4:1.9.2")

Choose a snapshot format (optional)

If you want JSON based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.9.2</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.9.2")

If you want XML based snapshots using jaxb and javax.xml legacy namespaces:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.9.2</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.9.2")

If you want XML based snapshots using jaxb new jakarta.xml namespaces:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb-jakarta</artifactId>
    <version>1.9.2</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-jaxb-jakarta:1.9.2")

If you want HTML based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-html</artifactId>
    <version>1.9.2</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-html:1.9.2")

Additional utilities

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.9.2</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.9.2")

Object normalization (⚠️ Experimental⚠)

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.9.2</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.9.2")
snapshot-tests - v1.9.1

Published by skuzzle over 1 year ago

Migration Info:

Note
When upgrading from a version prior to 1.8.0, instead of depending on snapshot-tests-core you should now
either depend on snapshot-tests-junit5 or snapshot-tests-junit4.
This will become mandatory with the next major version!

Check the resp. section in the README!

All Changes:

  • #49: Delete context files as well when deleting orphaned snapshots
  • #57: Support XML namespaces in XPaths when using custom comparison rules
  • #61: @SnapshotDirectory is not allowed anymore on test methods, only on test class
  • #64: Migrate build to gradle
  • #66: XmlSnapshot.withEnableXPathDebugging: Boolean parameter 'enabled' not taken into account
  • #71: Gracefully support JUnit5 nested tests
  • #73: MarshallerSupplier functional interface is not public
  • #74: Add recursive directory scanning via DirectoriesFrom.recursive()
  • Deprecate PathFilter in favor of TestFileFilter and TestDirectoryFilter
  • Improve format and information density of XPath debugging (can be enabled with XmlSnapshot.withEnableXPathDebugging(true))
  • Improve removal of internal stack frames from stacktraces of assertion errors
  • SnapshotException is now an unchecked exception
  • DSL no longer throws checked exceptions
  • Update to jackson 2.14.2 (coming from 2.10.5)

Reference Documentation

Reference

Reference documentation for this release: https://skuzzle.github.io/snapshot-tests/reference/1.9.1

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.9.1</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.9.1"))

Artifacts

Choose a test framework

ℹ️ All options include support for plain text snapshots.

If you are using JUnit5:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-junit5</artifactId>
    <version>1.9.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-junit5:1.9.1")

If you are using JUnit4:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-junit4</artifactId>
    <version>1.9.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-junit4:1.9.1")

Choose a snapshot format (optional)

If you want JSON based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.9.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.9.1")

If you want XML based snapshots using jaxb and javax.xml legacy namespaces:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.9.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.9.1")

If you want XML based snapshots using jaxb new jakarta.xml namespaces:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb-jakarta</artifactId>
    <version>1.9.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-jaxb-jakarta:1.9.1")

If you want HTML based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-html</artifactId>
    <version>1.9.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-html:1.9.1")

Additional utilities

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.9.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.9.1")

Object normalization (⚠️ Experimental⚠)

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.9.1</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.9.1")
snapshot-tests - 1.8.0

Published by skuzzle almost 2 years ago

Migration Info:

Note
When upgrading from a version prior to 1.8.0, instead of depending on snapshot-tests-core you should now
either depend on snapshot-tests-junit5 or snapshot-tests-junit4.
This will become mandatory with the next major version!

Check the resp. section in the README!

All Changes:

  • #20: Make Snapshot a top-level type in de.skuzzle.test.snapshot and deprecate de.skuzzle.test.snapshot.SnapshotDsl.Snapshot
  • #52: Test methods that contain at least on disabled assertion and no failed assertions will properly be marked as 'skipped' by the test framework
  • #54: Add support for JUnit4
  • #58: Include paths to initially created snapshot files in assertion-failed message
  • Officially support Java 17
  • Move JUnit5 support into separate module
  • Build against JUnit 5.9.2 (coming from 5.9.1)
  • Add ContextFiles class which groups the paths to all generated files
  • Deprecate SnapshotTestResult.targetFile(), SnapshotTestResult.actualResultFile() and SnapshotTestResult.rawActualResultFile() in favor of SnapshotTestResult.contextFiles()
  • Add disabledBecause(String) terminal DSL operation. The string can be used to leave an informative message to readers so they know why the assertion is disabled
  • Improve formatting of orphaned snapshot warning
  • Streamline internal implementation
  • Provide new reference documentation at https://skuzzle.github.io/snapshot-tests/reference/1.8.0

Reference Documentation

Reference

Reference documentation for this release: https://skuzzle.github.io/snapshot-tests/reference/1.8.0

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.8.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.8.0"))

Artifacts

Choose a test framework

ℹ️ All options include support for plain text snapshots.

If you are using JUnit5:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-junit5</artifactId>
    <version>1.8.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-junit5:1.8.0'
testImplementation("de.skuzzle.test:snapshot-tests-junit5:1.8.0")

If you are using JUnit4:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-junit4</artifactId>
    <version>1.8.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-junit4:1.8.0'
testImplementation("de.skuzzle.test:snapshot-tests-junit4:1.8.0")

Choose a snapshot format (optional)

If you want JSON based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.8.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.8.0'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.8.0")

If you want XML based snapshots using jaxb and javax.xml legacy namespaces:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.8.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.8.0'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.8.0")

If you want XML based snapshots using jaxb new jakarta.xml namespaces:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb-jakarta</artifactId>
    <version>1.8.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb-jakarta:1.8.0'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb-jakarta:1.8.0")

If you want HTML based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-html</artifactId>
    <version>1.8.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-html:1.8.0'
testImplementation("de.skuzzle.test:snapshot-tests-html:1.8.0")

Additional utilities

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.8.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.8.0'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.8.0")

Object normalization (⚠️ Experimental⚠)

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.8.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-normalize:1.8.0'
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.8.0")
snapshot-tests - 1.7.1

Published by skuzzle almost 2 years ago

  • #51: Line numbers in diff are off by number of header lines.
  • HTML comparison used generic XmlUnitStructuralAssertions instead of specialized HtmlStructuralAssertions

Maven Central coordinates for this release:

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.7.1</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.7.1"))

Artifacts

If you only need text based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.7.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.7.1'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.7.1")

If you need json based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.7.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.7.1'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.7.1")

If you need xml based snapshots using javax.xml legacy namespaces (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.7.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.7.1'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.7.1")

If you need xml based snapshots using new jakarta.xml namespaces (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb-jakarta</artifactId>
    <version>1.7.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb-jakarta:1.7.1'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb-jakarta:1.7.1")

If you need HTML based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-html</artifactId>
    <version>1.7.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-html:1.7.1'
testImplementation("de.skuzzle.test:snapshot-tests-html:1.7.1")

Experimental

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.7.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.7.1'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.7.1")

Object normalization

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.7.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-normalize:1.7.1'
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.7.1")
snapshot-tests - 1.7.0

Published by skuzzle almost 2 years ago

  • #19: Deprecate the whole @EnabledSnapshotTests annotation in favor of annotation with same name within junit5 package
  • #30: Deprecate EnableSnapshotTests.softAssertions. Soft assertions will no longer be supported in the next major version
  • #32: Support for jakarta namespaces via new snapshot-tests-jaxb-jakarta module
  • #47: Add new SnapshotTestOptions annotation which allows to configure some detailed aspects of the snapshot engine
  • Deprecate EnableSnapshotTests.snapshotDirectory in favor of new annotation @SnapshotDirectory
  • Deprecate SnapshotTestResult.serializedSnapshot() in favor of SnapshotTestResult.snapshotFile()
  • Add SnapshotTestResult.serializedActual()
  • Add SnapshotTestResult.actualResultFile()
  • Add SnapshotTestResult.rawActualResultFile()
  • Add the possibility to configure the number of context lines printed around a change in the default unified diff via @SnapshotTestOptions.textDiffContextLines()
  • Add the possibility to always persist the latest actual result as a sibling file of the real .snapshot file via @SnapshotTestOptions.alwaysPersistActualResult()
  • Add the possibility to additionally persist the raw actual result in a sibling file of the real .snapshot file via @SnapshotTestOptions.alwaysPersistRawResult(). The raw result does not contain the snapshot header information.
  • Improve compatibility with JUnit5's @Nested tests (general support for @Nested is still experimental though)
  • Unified diffs within assertion failure messages now come with full line information

Note: This release comes with a few major deprecations that are preparing our transition to the next major version
that is 2.0. That version will likely see all those deprecated methods to be removed. In general, simple drop in
replacements are provided and documented to ensure an easy migration.

Maven Central coordinates for this release:

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.7.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.7.0"))

Artifacts

If you only need text based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.7.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.7.0'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.7.0")

If you need json based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.7.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.7.0'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.7.0")

If you need xml based snapshots using javax.xml legacy namespaces (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.7.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.7.0'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.7.0")

If you need xml based snapshots using new jakarta.xml namespaces (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb-jakarta</artifactId>
    <version>1.7.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb-jakarta:1.7.0'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb-jakarta:1.7.0")

If you need HTML based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-html</artifactId>
    <version>1.7.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-html:1.7.0'
testImplementation("de.skuzzle.test:snapshot-tests-html:1.7.0")

Experimental

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.7.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.7.0'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.7.0")

Object normalization

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.7.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-normalize:1.7.0'
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.7.0")
snapshot-tests - 1.6.1

Published by skuzzle almost 2 years ago

  • Deprecated property DirectoriesFrom.directory should not be mandatory

Maven Central coordinates for this release:

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.6.1</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.6.1"))

Artifacts

If you only need text based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.6.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.6.1'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.6.1")

If you need json based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.6.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.6.1'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.6.1")

If you need xml based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.6.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.6.1'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.6.1")

If you need HTML based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-html</artifactId>
    <version>1.6.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-html:1.6.1'
testImplementation("de.skuzzle.test:snapshot-tests-html:1.6.1")

Experimental

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.6.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.6.1'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.6.1")

Object normalization

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.6.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-normalize:1.6.1'
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.6.1")
snapshot-tests - 1.6.0

Published by skuzzle almost 2 years ago

  • #42: Publish flattened version of our artifact to fix BOM distribution
  • #43: Allow XML structure comparison for String input
  • Add XmlSnapshot.withEnableXPathDebugging(...) and HtmlSnapshot.withEnableXPathDebugging(...) to print results of applying custom comparison rules
  • Fixed bugs and performance issues in XPath comparison engine
  • toString() of TestFile and TestDirectory contain full absoulte path to the file instead of just the file name
  • Deprecate FilesFrom.directory in favor of FilesFrom.testResourcesDirectory and FilesFrom.projectDirectory
  • Deprecate DirectoriesFrom.directory in favor of DirectoriesFrom.testResourcesDirectory and DirectoriesFrom.projectDirectory

Maven Central coordinates for this release:

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.6.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.6.0"))

Artifacts

If you only need text based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.6.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.6.0'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.6.0")

If you need json based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.6.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.6.0'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.6.0")

If you need xml based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.6.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.6.0'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.6.0")

If you need HTML based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-html</artifactId>
    <version>1.6.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-html:1.6.0'
testImplementation("de.skuzzle.test:snapshot-tests-html:1.6.0")

Experimental

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.6.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.6.0'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.6.0")

Object normalization

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.6.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-normalize:1.6.0'
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.6.0")
snapshot-tests - 1.5.0

Published by skuzzle almost 2 years ago

  • #23: Allow to configure strictness of JSON comparison
  • #34: Support for HTML snapshots
  • #36: Throw proper AssertionError if actual snapshot input is null
  • #37: Improve rendering of huge diffs by leaving out large unchanged parts
  • #39: Detect incomplete/illegal DSL usages
  • #40: Allow to gracefully disable snapshot assertions
  • Build against JUnit 5.9.1 (coming from 5.8.2)
  • Clean up dependencies

Maven Central coordinates for this release:

BOM Artifact

⚠ The published BOM is currently broken. See Issue #42

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.5.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.5.0"))

Artifacts

If you only need text based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.5.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.5.0'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.5.0")

If you need json based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.5.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.5.0'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.5.0")

If you need xml based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.5.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.5.0'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.5.0")

If you need HTML based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-html</artifactId>
    <version>1.5.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-html:1.5.0'
testImplementation("de.skuzzle.test:snapshot-tests-html:1.5.0")

Experimental

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.5.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.5.0'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.5.0")

Object normalization

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.5.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-normalize:1.5.0'
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.5.0")
snapshot-tests - 1.4.0

Published by skuzzle about 2 years ago

  • #25: Improve exception messages for comparison failures
  • #27: Allow to customize whitespace behavior for text comparison
  • #28: Unify static constructors of all StructuredDataProviders (see Deprecations below)

Deprecations

  • Deprecate XmlSnapshot.inferJaxbContext() in favor of XmlSnapshot.xml()
  • Deprecate XmlSnapshot.with(JAXBContext) in favor of XmlSnapshot.xml().withJAXBContext(JAXBContext)
  • Deprecate JsonSnapshot.withDefaultObjectMapper() in favor of JsonSnapshot.json()
  • Deprecate JsonSnapshot.withObjectMapper(ObjectMapper) in favor of JsonSnapshot.json(ObjectMapper)

Maven Central coordinates for this release:

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.4.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.4.0"))

Artifacts

If you only need text based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.4.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.4.0'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.4.0")

If you need json based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.4.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.4.0'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.4.0")

If you need xml based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.4.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.4.0'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.4.0")

Experimental

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.4.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.4.0'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.4.0")

Object normalization

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.4.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-normalize:1.4.0'
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.4.0")
snapshot-tests - 1.3.0

Published by skuzzle over 2 years ago

  • #9: Do not allow null snapshots anymore
  • #24: Only create snapshot directory if necessary
  • Simple API to specify custom rules using XPath for XML comparison
  • Change: Custom json matchers are only tested against the new actual result and not against the persisted snapshot anymore
  • Add convenience method TestFile.asText() which defaults to use UTF-8 as file encoding

Experimental

  • Fix: object traversal failed on primitive arrays
  • Fix: serious bug in ObjectMemberAction.replaceConsistently
  • Add: new simpler overload of ObjectMemberAction.replaceConsistently
  • Add: new package for string normalization

Maven Central coordinates for this release:

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.3.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.3.0"))

Artifacts

If you only need text based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.3.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.3.0'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.3.0")

If you need json based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.3.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.3.0'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.3.0")

If you need xml based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.3.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.3.0'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.3.0")

Experimental

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.3.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.3.0'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.3.0")

Object normalization

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.3.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-normalize:1.3.0'
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.3.0")
snapshot-tests - 1.2.3

Published by skuzzle over 2 years ago

Note: When running your tests with this version for the first time, you will see that your snapshot files are being
changed because we introduced a new header field. You can and safely check in these changes into your SCM.

  • Fix a regression introduced with 1.2.2 where the framework ends up in unrecoverable condition after a snapshot test failed
  • Remove Target ElementType.METHOD from @EnableSnapshotTests

Maven Central coordinates for this release:

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.2.3</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.2.3"))

Artifacts

If you only need text based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.2.3</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.2.3'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.2.3")

If you need json based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.2.3</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.2.3'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.2.3")

If you need xml based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.2.3</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.2.3'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.2.3")

Experimental

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.2.3</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.2.3'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.2.3")

Object normalization

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.2.3</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-normalize:1.2.3'
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.2.3")
snapshot-tests - 1.2.2

Published by skuzzle over 2 years ago

Note: When running your tests with this version for the first time, you will see that your snapshot files are being
changed because we introduced a new header field. You can and safely check in these changes into your SCM.

  • Improve orphan detection to report less false positives
  • Multiple JavaDoc improvements
  • Improve and simplify internal interface and test framework integration

Maven Central coordinates for this release:

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.2.2</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.2.2"))

Artifacts

If you only need text based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.2.2</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.2.2'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.2.2")

If you need json based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.2.2</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.2.2'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.2.2")

If you need xml based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.2.2</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.2.2'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.2.2")

Experimental

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.2.2</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.2.2'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.2.2")

Object normalization

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.2.2</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-normalize:1.2.2'
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.2.2")
snapshot-tests - 1.2.1

Published by skuzzle over 2 years ago

  • Detect whether a test method had been renamed and update a snapshot's header information (works in some cases.
    In other cases, a new snapshot might be taken and the existing one becomse an orphan).
  • Fix and improve orphan detection (especially when using custom snapshot names and/or custom snapshot directories)

Maven Central coordinates for this release:

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.2.1</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.2.1"))

Artifacts

If you only need text based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.2.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.2.1'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.2.1")

If you need json based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.2.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.2.1'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.2.1")

If you need xml based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.2.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.2.1'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.2.1")

Experimental

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.2.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.2.1'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.2.1")

Object normalization

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.2.1</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-normalize:1.2.1'
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.2.1")
snapshot-tests - 1.2.0

Published by skuzzle over 2 years ago

  • #16: Add better API for customizing json comparisons.
  • #21: Throw IllegalArgumentException instead of NullPointerException when validating parameters.
  • Automatically wrap objects in JAXBElement when they are not annotated with @XmlRootObject.
  • TestFile injected in parameterized tests now has a sibling(String) and siblingWithExtension(String) method.
  • Added @DirectoriesFrom annotation which iterates directories and injects them as TestDirectory into test methods.
  • Added filter attribute to the @FilesFrom annotation to specify a PathFilter implementation. Allows for more fine grained filtering control.
  • Experimental support for changing the snapshot directory per assertion with snapshot.in(pathToDirectory).assertThat(...).

Maven Central coordinates for this release:

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.2.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.2.0"))

Artifacts

If you only need text based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.2.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.2.0'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.2.0")

If you need json based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.2.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.2.0'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.2.0")

If you need xml based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.2.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.2.0'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.2.0")

Experimental

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.2.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.2.0'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.2.0")

Object normalization

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.2.0</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.2.0")
snapshot-tests - 1.1.0

Published by skuzzle over 2 years ago

  • #5: Improve support for parameterized tests (@ParameterizedTest)
  • #15: Internal refactoring to decouple core from JUnit dependency
  • #8: Way more sophisticated orphan detection
  • Deprecate EnableSnapshotTests.forceUpdateSnapshots in favor of new @ForceUpdateSnapshots annotation
  • Orphaned files are not deleted any more when forceUpdateSnapshots is enabled
  • @DeleteOrphanedSnapshots annotation can be placed on the test class in order to delete orphaned files

Maven Central coordinates for this release:

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

Maven Central

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.1.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.1.0"))

Artifacts

If you only need text based snapshots:

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.1.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.1.0'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.1.0")

If you need json based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.1.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.1.0'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.1.0")

If you need xml based snapshots (includes -core):

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.1.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.1.0'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.1.0")

Experimental

Directory Params

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.1.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.1.0'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.1.0")

Object normalization

Maven Central JavaDoc

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.1.0</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.1.0")
snapshot-tests - 1.0.0

Published by skuzzle over 2 years ago

Maven Central JavaDoc

This is the first major release! Please watch out for ApiGuardian @API annotation when using public API. Some
classes/methods are still marked as experimental and thus elligible to change during a minor release.

  • Add ApiGuardian annotations to all public API
  • #10 Snapshots can be updated by passing -DforceUpdateSnapshots to the JVM
  • Allow to customize the JSONComparator instance when structurally comparing JSON snapshots
  • Improve JavaDoc

Maven Central coordinates for this release:

BOM Artifact

Manages the versions of all modules in case you are using multiple in your project

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>1.0.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
testImplementation(platform("de.skuzzle.test:snapshot-tests-bom:1.0.0"))

Artifacts

If you only need text based snapshots:

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>1.0.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:1.0.0'
testImplementation("de.skuzzle.test:snapshot-tests-core:1.0.0")

If you need json based snapshots (includes -core):

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>1.0.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:1.0.0'
testImplementation("de.skuzzle.test:snapshot-tests-jackson:1.0.0")

If you need xml based snapshots (includes -core):

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>1.0.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:1.0.0'
testImplementation("de.skuzzle.test:snapshot-tests-jaxb:1.0.0")

Experimental

Directory Params

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>1.0.0</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:1.0.0'
testImplementation("de.skuzzle.test:snapshot-tests-directory-params:1.0.0")

Object normalization

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>1.0.0</version>
    <scope>test</scope>
</dependency>
testImplementation("de.skuzzle.test:snapshot-tests-normalize:1.0.0")
snapshot-tests - 0.0.7

Published by skuzzle over 2 years ago

Maven Central JavaDoc

  • Allow to customize the Xml-Unit assertion via XmlSnapshot.compareUsing(Consumer<CompareAssert>)
  • Restructure modules
  • Experimental normalization API

Maven Central coordinates for this release:

BOM Artifact

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-bom</artifactId>
    <version>0.0.7</version>
    <scope>test</scope>
</dependency>
testImplementation(platform('de.skuzzle.test:snapshot-tests-bom:0.0.7'))

Artifacts

If you only need text based snapshots:

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>0.0.7</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:0.0.7'

If you need json based snapshots (includes -core):

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>0.0.7</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:0.0.7'

If you need xml based snapshots (includes -core):

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>0.0.7</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:0.0.7'

Experimental

Directory Params

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-directory-params</artifactId>
    <version>0.0.7</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-directory-params:0.0.7'

Object normalization

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-normalize</artifactId>
    <version>0.0.7</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-normalize:0.0.7'
snapshot-tests - 0.0.6

Published by skuzzle almost 3 years ago

Maven Central JavaDoc

  • #11 Rename @SnapshotAssertions to @EnableSnapshotTests (breaking)

Maven Central coordinates for this release:

If you only need text based snapshots:

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-core</artifactId>
    <version>0.0.6</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-core:0.0.6'

If you need json based snapshots (includes -core):

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jackson</artifactId>
    <version>0.0.6</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jackson:0.0.6'

If you need xml based snapshots (includes -core):

<dependency>
    <groupId>de.skuzzle.test</groupId>
    <artifactId>snapshot-tests-jaxb</artifactId>
    <version>0.0.6</version>
    <scope>test</scope>
</dependency>
testImplementation 'de.skuzzle.test:snapshot-tests-jaxb:0.0.6'
Package Rankings
Top 31.39% on Repo1.maven.org
Badges
Extracted from project README
Maven Central JavaDoc Reference Coverage Status Twitter Follow