Elm:
Tests Schreiben

Wie geht das:

Elm verwendet das Paket elm-explorations/test für das Schreiben von Einheiten- und Fuzz-Tests. Beginnen Sie damit, das Paket Ihrem Projekt hinzuzufügen:

elm install elm-explorations/test

Erstellen Sie eine Testdatei, sagen wir tests/ExampleTest.elm, und importieren Sie die Testmodule. Hier ist ein einfacher Test, der eine Funktion add : Int -> Int -> Int überprüft:

module ExampleTest exposing (..)

import Expect
import Test exposing (..)
import YourModuleName exposing (add)

suite : Test
suite =
    describe "Eine einfache Additionsfunktion"
        [ test "2 und 3 addieren ergibt 5" <| 
            \_ -> add 2 3 |> Expect.equal 5
        ]

Um Ihre Tests auszuführen, benötigen Sie elm-test:

npm install -g elm-test
elm-test

Dies wird Ihre Tests kompilieren und die Ergebnisse in Ihrem Terminal ausgeben. Für das obige Beispiel sollte die Ausgabe etwa folgendes sein:

TESTLAUF BESTANDEN

Dauer: 42 ms
Bestanden: 1
Fehlgeschlagen: 0

Für ein komplexeres Beispiel, nehmen wir an, Sie möchten die Funktion add mit Fuzz-Tests prüfen, um sicherzustellen, dass sie eine breite Palette von ganzzahligen Eingaben korrekt verarbeitet. Sie würden Ihre ExampleTest.elm wie folgt ändern:

module ExampleTest exposing (..)

import Expect
import Fuzz exposing (int)
import Test exposing (..)
import YourModuleName exposing (add)

suite : Test
suite =
    describe "Add testen mit Fuzzing"
        [ fuzz int "Fuzz-Test für add mit zufälligen ints" <| 
            \int1 int2 -> add int1 int2 |> Expect.equal (int1 + int2)
        ]

Führen Sie elm-test erneut aus, um die Fuzz-Tests in Aktion zu sehen. Die Ausgabe variiert bei zufälliger Eingabe, aber erfolgreiche Tests zeigen keine Fehler an:

TESTLAUF BESTANDEN

Dauer: 183 ms
Bestanden: 100
Fehlgeschlagen: 0

Diese Beispiele zeigen, wie man einfache Einheiten- und Fuzz-Tests in Elm schreibt und ausführt, indem man das Paket elm-explorations/test verwendet. Das Testen ist ein wesentlicher Teil des Entwicklungsprozesses und hilft dabei, sicherzustellen, dass Ihre Elm-Anwendungen zuverlässig sind und eine hohe Qualität aufweisen.