2017-01-01 90 views
1

我正在爲返回結果的函數編寫測試。我如何測試它「是」一個錯誤(或者,對於這個問題)?榆測:如何檢查結果是否是一個錯誤?

\() -> 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的情況下)或假(以Expect.false的情況)。

+0

我想知道如果我可以解碼函數內的值,如果它不是一個參數。我認爲你的方式更直接,我正在創建這樣的幫助功能。謝謝 –