@hackage hspec-expectations-json1.0.0.5

Hspec expectations for JSON Values

Hspec expectations for JSON Values

Comparing JSON Values in Haskell tests comes with some challenges:

  • In API responses, additive changes are typically safe and an important way to evolve responses without breaking clients. Therefore, assertions against such responses often want to ignore any unexpected keys in Objects (at any depth), as any clients would.

  • Order often doesn't matter in API responses either, so it should be possible to assert equality regardless of Array ordering (again, at any depth).

  • When an assertion fails, showing the difference clearly needs to take the above into account (i.e. it can't show keys you've ignored, or ordering differences you didn't care about), and it has to display things clearly, e.g. as a diff.

This library handles all these things.