Elm 测试:如何检查结果是否错误?

Ric*_*ven 1 decode elm

我正在为返回结果的函数编写测试。我如何测试它“是” Err (或 Ok,就此而言)?

\() -> Expect.equal expectedFailure (Err _)
Run Code Online (Sandbox Code Playgroud)

不起作用。

如何解码非参数?

Rya*_*ant 5

我很可能错过了一个更优雅的解决方案,但我个人只会编写一个辅助函数。

resultOk result =
    case result of
        Ok _ -> True
        Err _ -> False
Run Code Online (Sandbox Code Playgroud)

然后在你的测试中

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

Expect.trueExpect.false如果测试失败,则打印一个字符串,然后打印一个应该为 true(在 的情况下)Expect.true或 false(在 的情况下Expect.false)的表达式。