Elm:
การเขียนการทดสอบ

วิธีการ:

Elm ใช้แพ็กเกจ elm-explorations/test สำหรับเขียนทดสอบหน่วย (unit tests) และทดสอบแบบฟัซซิ่ง (fuzz tests) เริ่มต้นด้วยการเพิ่มแพ็กเกจนี้เข้าไปในโปรเจคของคุณ:

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 ติดตั้ง -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 "Testing add with fuzzing"
        [ fuzz int "Fuzz testing add with random ints" <| 
            \int1 int2 -> add int1 int2 |> Expect.equal (int1 + int2)
        ]

รัน elm-test อีกครั้งเพื่อดูการทดสอบฟัซซิ่งในการทำงาน ผลลัพธ์จะแตกต่างกันไปตามข้อมูลป้อนเข้าแบบสุ่ม แต่การทดสอบที่สำเร็จจะแสดงว่าไม่มีการล้มเหลว:

การรันทดสอบ ผ่าน

ระยะเวลา: 183 มิลลิวินาที
ผ่าน:   100
ล้มเหลว:   0

ตัวอย่างเหล่านี้แสดงวิธีการเขียนและรันทดสอบหน่วยและทดสอบฟัซซิ่งใน Elm โดยใช้แพ็กเกจ elm-explorations/test การทดสอบเป็นส่วนสำคัญของกระบวนการพัฒนา ช่วยให้มั่นใจว่าแอปพลิเคชัน Elm ของคุณเชื่อถือได้และรักษาคุณภาพสูง