BDD style matchers on top of elm-test. It's a very simple syntax sugar.
First, follow the getting started steps from the elm-test package.
Then, install elm-test-bdd-style:
elm-test install rogeriochaves/elm-test-bdd-style
To use it, just import it on your test:
import ElmTestBDDStyle exposing (..)
-- Example.elm module Example exposing (..) import Test exposing (..) import Expect exposing (..) import Fuzz exposing (..) import ElmTestBDDStyle exposing (..) tests : Test tests = describe "Example Text" [ it "does math correctly" <| expect (1 + 1) to equal 2 , it "does not miscalculate things" <| expect (2 + 2) to notEqual 5 , it "exemplifies more complex test cases" <| let expression = 2 + 2 in expect expression to equal 4 , it "compares two numbers" <| expect (10 > 5) toBe true "math should work" , it "compares two numbers" <| expect 10 toBe greaterThan 5 , fuzz (list int) "ends up with the same list when reversing twice" <| \fuzzList -> expect (List.reverse (List.reverse fuzzList)) to equal fuzzList ]
You can use ktonon/elm-test-exta for extra matchers such as
You may also write your own matchers and other functions to make your tests as idiomatic as you want. For some examples, check out the
tests/BetterSpecs.elm file on this project to see a reimplementation of betterspecs.org in Elm.