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

วิธีการ:

Fish ไม่มีเฟรมเวิร์กการทดสอบที่ในตัวเหมือนกับสภาพแวดล้อมการเขียนโปรแกรมอื่นๆ อย่างไรก็ตาม คุณสามารถเขียนสคริปต์ทดสอบง่ายๆ ที่ใช้การยืนยัน(assertions)เพื่อตรวจสอบพฤติกรรมของฟังก์ชันของคุณ นอกจากนี้ คุณยังสามารถใช้เครื่องมือของบุคคลที่สาม เช่น fishtape สำหรับชุดการทดสอบที่ครอบคลุมมากขึ้น

ตัวอย่าง 1: สคริปต์ทดสอบพื้นฐาน

เริ่มต้นด้วยฟังก์ชันพื้นฐานใน Fish ที่คำนวณผลรวมของสองตัวเลข:

function add --description 'เพิ่มสองตัวเลข'
    set -l sum (math $argv[1] + $argv[2])
    echo $sum
end

คุณสามารถเขียนสคริปต์ทดสอบพื้นฐานสำหรับฟังก์ชันนี้ได้ดังนี้:

function test_add
    set -l result (add 3 4)
    if test $result -eq 7
        echo "test_add ผ่าน"
    else
        echo "test_add ล้มเหลว"
    end
end

test_add

การรันสคริปต์นี้จะแสดงผล:

test_add ผ่าน

ตัวอย่าง 2: การใช้ Fishtape

สำหรับการทดสอบที่แข็งแกร่งยิ่งขึ้น คุณสามารถใช้ fishtape ซึ่งเป็นเครื่องมือทดสอบที่ผลิต TAP สำหรับ Fish

ขั้นแรก ติดตั้ง fishtape หากคุณยังไม่ได้ติดตั้ง:

fisher install jorgebucaran/fishtape

ต่อไป สร้างไฟล์ทดสอบสำหรับฟังก์ชัน add ของคุณ เช่น add_test.fish:

test "การเพิ่ม 3 และ 4 ได้ผลลัพธ์ 7"
    set result (add 3 4)
    echo "$result" | fishtape
end

เพื่อรันการทดสอบ ใช้คำสั่งดังต่อไปนี้:

fishtape add_test.fish

ตัวอย่างผลลัพธ์อาจดูเป็นอย่างนี้:

TAP version 13
# การเพิ่ม 3 และ 4 ได้ผลลัพธ์ 7
ok 1 - test_add ผ่าน

สิ่งนี้บอกคุณว่าการทดสอบผ่านสำเร็จ fishtape ช่วยให้คุณสามารถโครงสร้างการทดสอบที่ละเอียดยิ่งขึ้นและให้ผลลัพธ์ที่ให้ข้อมูลได้ดี เพื่อง่ายต่อการดีบักและมีการครอบคลุมการทดสอบที่ครบถ้วนสำหรับสคริปต์ Fish ของคุณ