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 "A simple addition function"
        [ test "Adding 2 and 3 yields 5" <| 
            \_ -> add 2 3 |> Expect.equal 5
        ]

テストを実行するには、elm-testが必要になります:

npm install -g elm-test
elm-test

これにより、テストがコンパイルされ、結果がターミナルに出力されます。上記の例では、出力は次のようになるはずです:

TEST RUN PASSED

Duration: 42 ms
Passed:   1
Failed:   0

より複雑な例として、add関数が幅広い整数入力を正しく処理できるかどうかをファズテストで確認したいとします。その場合、ExampleTest.elmを次のように変更します:

module ExampleTest exposing (..)

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

suite : Test
suite =
    describe "Testing add with fuzzing"
        [ fuzz int "Fuzz testing add with random ints" <| 
            \int1 int2 -> add int1 int2 |> Expect.equal (int1 + int2)
        ]

再びelm-testを実行して、ファズテストを動作させます。出力はランダムな入力によって変わりますが、成功したテストは失敗がないことを示します:

TEST RUN PASSED

Duration: 183 ms
Passed:   100
Failed:   0

これらの例は、elm-explorations/testパッケージを使用して、Elmで単純な単体テストとファズテストを書き、実行する方法を示しています。テストは開発プロセスの重要な部分であり、Elmアプリケーションが信頼でき、高品質を維持するのに役立ちます。