Elm 的測試

學習如何在 Exercism 上測試你的 Elm 練習


Elm 專案的測試都放在該專案的tests/子目錄裡。每個練習的測試套件都可以在該練習的根目錄中執行。

$ cd ~/exercism/elm/hello-world
$ elm-test

監看變更

儲存變更後自動重新執行測試:

$ elm-test --watch

測試驅動開發流程

大多數練習的測試都已經寫在tests/Tests.elm檔案中。 你的目標,是撰寫src/<exercise>.elm檔案裡所需的程式碼,讓這些測試通過。 先專注在第一個失敗的測試上,修正它, 然後移除或註解掉測試檔案中下一個skip <|片段,再重複這個過程, 直到所有測試都通過。

卡住了嗎?

你的第一個目標,是讓程式碼能夠編譯,即使裡面還有Debug.todo也一樣。 如果你覺得不知道某件事該怎麼做, 把它抽成一個獨立、還沒實作的函式,往往很有用喔。

complexOperationOnMultipleStrings : List String -> List String
complexOperationOnMultipleStrings allStrings =
    List.map complexOperation allStrings


complexOperation : String -> String
complexOperation input =
    Debug.todo "Extracted operation into its own function"

為這個抽出來的函式加上型別標註, 既能幫助你思考,也能讓編譯器給你更好的錯誤訊息。

整理你的程式碼

提交之前,不妨用 elm-format 整理一下程式碼, 甚至把它設定在你的文字編輯器裡,在儲存時自動格式化。