Skip to content

jatcwang/difflicious

Repository files navigation

id index
title Difflicious
sidebar_label Overview

Difflicious

Diffs for human and machine consumption

Release

Difflicious provides diffs for structured data in Scala, primarily for tests.

  • Readable and actionable diff results tells you where exactly your data is different
  • Flexible and configurable diffing logic
    • Ignore unimportant fields when comparing
    • Compare Lists of items independent of order
    • Match Map entries by key and show diffs of the values
  • Integration with test frameworks and popular libraries

Hungry for some good diffs? Check out the documentation!

Installation

If you're using the MUnit test framework:

// == SBT ==
"com.github.jatcwang" %% "difflicious-munit" % "@VERSION@"
// == Mill == 
ivy"com.github.jatcwang::difflicious-munit:@VERSION@"

If you're using ScalaTest test framework:

// == SBT ==
"com.github.jatcwang" %% "difflicious-scalatest" % "@VERSION@"
// == Mill == 
ivy"com.github.jatcwang::difflicious-scalatest:@VERSION@"

If you're using Weaver test framework:

// == SBT ==
"com.github.jatcwang" %% "difflicious-weaver" % "@VERSION@"
// == Mill == 
ivy"com.github.jatcwang::difflicious-weaver:@VERSION@"

Contributing

All contributions are welcome, including suggestions and ideas. For larger changes, please raise an issue first to avoid duplicate work :)

Attributions

This project takes many inspirations from:

  • diffx's path expression for ignoring fields
  • MUnit's case class diffs

License

Apache License 2.0. See LICENSE file.

About

Scala library for readable diffs of values

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors