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,甚至在你的文本编辑器里设置好,让它在保存时自动格式化。