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 і підтримувати їх високу якість.