Elm:
Письмо тестів
Як:
Elm використовує пакет elm-explorations/test для написання модульних та фазз-тестів. Почніть з додавання пакету до вашого проєкту:
elm install elm-explorations/testСтворіть тестовий файл, скажімо tests/ExampleTest.elm, та імпортуйте тестові модулі. Ось простий тест, який перевіряє функцію add : Int -> Int -> Int:
module ExampleTest exposing (..)
import Expect
import Test exposing (..)
import YourModuleName exposing (add)
suite : Test
suite =
describe "Проста функція додавання"
[ test "Додавання 2 і 3 дає 5" <|
\_ -> add 2 3 |> Expect.equal 5
]Для запуску ваших тестів вам буде потрібно elm-test:
npm install -g elm-test
elm-testЦе скомпілює ваші тести та виведе результати в терміналі. Для вищезазначеного прикладу вивід повинен бути приблизно наступним:
ТЕСТ ВИКОНАНО УСПІШНО
Тривалість: 42 мс
Пройдено: 1
Помилок: 0Для більш складного прикладу, скажімо ви хочете протестувати функцію add фазз-тестом, щоб переконатися, що вона правильно обробляє широкий діапазон вхідних цілих чисел. Ви могли б змінити ваш ExampleTest.elm таким чином:
module ExampleTest exposing (..)
import Expect
import Fuzz exposing (int)
import Test exposing (..)
import YourModuleName exposing (add)
suite : Test
suite =
describe "Тестування add з фаззінгом"
[ fuzz int "Фазз тестування add з випадковими цілими числами" <|
\int1 int2 -> add int1 int2 |> Expect.equal (int1 + int2)
]Запустіть elm-test знову, щоб побачити фазз-тести на дії. Результат буде змінюватися з випадковим вводом, але успішні тести вкажуть на відсутність помилок:
ТЕСТ ВИКОНАНО УСПІШНО
Тривалість: 183 мс
Пройдено: 100
Помилок: 0Ці приклади показують, як писати та виконувати прості модульні та фазз-тести в Elm, використовуючи пакет elm-explorations/test. Тестування є життєво важливою частиною процесу розробки, допомагаючи забезпечити надійність ваших додатків Elm і підтримувати їх високу якість.