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 ของคุณ