Elm:
Pisanie testów
Jak to zrobić:
Elm używa pakietu elm-explorations/test
do pisania testów jednostkowych i testów fuzz. Zacznij od dodania pakietu do swojego projektu:
elm install elm-explorations/test
Utwórz plik testowy, na przykład tests/ExampleTest.elm
, i zaimportuj moduły testujące. Oto prosty test, który weryfikuje funkcję add : Int -> Int -> Int
:
module ExampleTest exposing (..)
import Expect
import Test exposing (..)
import YourModuleName exposing (add)
suite : Test
suite =
describe "Prosta funkcja dodawania"
[ test "Dodawanie 2 i 3 daje 5" <|
\_ -> add 2 3 |> Expect.equal 5
]
Aby uruchomić swoje testy, będziesz potrzebować elm-test
:
npm install -g elm-test
elm-test
To skompiluje twoje testy i wydrukuje wyniki w terminalu. Dla powyższego przykładu, wyjście powinno wyglądać mniej więcej tak:
TEST RUN PASSED
Duration: 42 ms
Passed: 1
Failed: 0
Dla bardziej złożonego przykładu, powiedzmy, że chcesz przetestować funkcję add
testem fuzz, aby upewnić się, że poprawnie obsługuje ona szeroki zakres wejść całkowitoliczbowych. W takim przypadku zmodyfikuj swój plik ExampleTest.elm
w następujący sposób:
module ExampleTest exposing (..)
import Expect
import Fuzz exposing (int)
import Test exposing (..)
import YourModuleName exposing (add)
suite : Test
suite =
describe "Testowanie funkcji add z użyciem fuzzingu"
[ fuzz int "Fuzz testing dodawania z losowymi intami" <|
\int1 int2 -> add int1 int2 |> Expect.equal (int1 + int2)
]
Uruchom ponownie elm-test
, aby zobaczyć testy fuzz w akcji. Wyjście będzie zmieniać się w zależności od losowego wejścia, ale udane testy wskażą brak awarii:
TEST RUN PASSED
Duration: 183 ms
Passed: 100
Failed: 0
Te przykłady pokazują, jak pisać i uruchamiać proste testy jednostkowe oraz testy fuzz w Elm, korzystając z pakietu elm-explorations/test
. Testowanie jest kluczowym elementem procesu rozwoju, pomagającym zapewnić niezawodność aplikacji Elm i utrzymać wysoką jakość.