2017-01-01 11 views
1

私は結果を返す関数のテストを書いています。どのように私はそれが "エラー"(または、問題であるか)であることをテストしますか?Elm testing:結果がエラーかどうかを確認する方法?

\() -> Expect.equal expectedFailure (Err _) 

は機能しません。

非パラメータをどのようにデコードするのですか?

+0

これは今お手伝いしませんが、この正確なケースのために追加された 'Expect.err'があり、次のリリースになります。https://github.com/elm-community/elm-test /プル/ 90 – robertjlooby

+0

クールビスケット! –

答えて

4

私が逃したよりエレガントな解決策があるかもしれませんが、私は個人的にヘルパー機能を書いています。

resultOk result = 
    case result of 
     Ok _ -> True 
     Err _ -> False 

その後、あなたのテストで

Expect.true "expected this to be OK" (resultOk <| Ok "All good") 
Expect.false "expected this to be an error" (resultOk <| Err "Oh no!") 

Expect.trueExpect.false(テストが失敗した場合に印刷する文字列を取り、その後、(Expect.trueの場合)はtrueでなければなりません表現またはfalse Expect.falseの場合)。

+0

私はそれがパラメータでない場合、関数内の値をデコードできるかどうか疑問に思いました。あなたのやり方はより直接的で、私はこのようなヘルパー関数を作成していると思います。ありがとう –

関連する問題