elm-test-extra

Write concise tests for JSON decoders and more

MIT License

Stars
4

elm-test-extra

Extra expectations, fuzzers, testers and describers.

elm package install ktonon/elm-test-extra

Example: Describing JSON Decoders

Write concise test for JSON decoders.

Use the high level describeDecoder to quickly write tests that exercise a Json.Decode.Decoder. For example,

describeDecoder "int"
  Json.Decode.int
  Debug.toString
  [ ( "", FailsToDecode )
  , ( "\"foo\"", FailsToDecode )
  , ( "1", DecodesTo 1 )
  , ( "1.5", FailsToDecode )
  , ( "\"this-will-fail\"", DecodesTo 5)
  ]

In this example, the last test will fail, giving helpful feedback:

โ†“ int
โœ— this-will-fail DecodesTo 5

Expected input:
  "this-will-fail"
to decode successfully, but instead it failed with message:
  Problem with the given value:

"this-will-fail"

Expecting an INT