NoRedInk / elm-test-extra

Write concise tests for JSON decoders and more

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

elm-test-extra

CircleCI

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
  [ ( "", 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:
      Expecting an Int but instead got: "this-will-fail"

About

Write concise tests for JSON decoders and more

License:MIT License


Languages

Language:Elm 92.8%Language:Shell 7.2%