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 ของคุณเชื่อถือได้และรักษาคุณภาพสูง