Тестування на треку Elm

Дізнайтеся, як тестувати вправи з Elm на Exercism


Тести для проєкту 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 для свого коду перед поданням і навіть налаштувати його у своєму текстовому редакторі, щоб він автоматично форматував код під час збереження.