Lua:
การเขียนการทดสอบ
วิธีการ:
Lua ซึ่งเป็นภาษาสคริปติ้งที่ทั้งเบาและทรงพลัง ไม่มีกรอบการทดสอบที่ติดตั้งมาในตัว อย่างไรก็ตาม ไลบรารีของบุคคลที่สาม เช่น Busted และ LuaUnit ทำให้การทดสอบเป็นเรื่องที่ค่อนข้างตรงไปตรงมา ที่นี่ เราจะดูตัวอย่างโดยใช้ทั้งสองแบบ
การใช้ Busted
Busted เป็นกรอบการทดสอบสำหรับ Lua ที่ได้รับความนิยมและเสนอวิธีที่ยืดหยุ่นในการเขียนทดสอบ ก่อนอื่น ติดตั้ง Busted ผ่าน LuaRocks (ตัวจัดการแพคเกจของ Lua) ด้วยคำสั่ง luarocks install busted
หลังจากติดตั้งแล้ว คุณสามารถเขียนทดสอบของคุณได้ นี่คือทดสอบง่ายๆ สำหรับฟังก์ชัน add
ที่รวมสองตัวเลข:
-- add.lua
local function add(a, b)
return a + b
end
return add
-- add_spec.lua
local add = require('add')
describe("ฟังก์ชัน Add", function()
it("ควรจะรวมสองตัวเลขได้อย่างถูกต้อง", function()
assert.are.equal(5, add(2, 3))
end)
end)
เพื่อรันทดสอบ ให้ประมวลผล busted
ในเทอร์มินัลของคุณ ผลลัพธ์ตัวอย่างสำหรับการทดสอบที่ผ่านจะมีลักษณะดังนี้:
●
1 ความสำเร็จ / 0 ความล้มเหลว / 0 ข้อผิดพลาด / 0 รอดำเนินการ : 0.002 วินาที
การใช้ LuaUnit
LuaUnit เป็นกรอบการทดสอบอีกตัวที่ตามหลักการของ xUnit และง่ายต่อการตั้งค่า ติดตั้ง LuaUnit ผ่าน LuaRocks โดยใช้ luarocks install luaunit
นี่คือวิธีที่คุณสามารถเขียนทดสอบที่คล้ายกันกับข้างต้นด้วย LuaUnit:
-- add.lua ยังคงเหมือนเดิม
-- test_add.lua
luaunit = require('luaunit')
local add = require('add')
function testAdd()
luaunit.assertEquals(add(2, 3), 5)
end
os.exit(luaunit.LuaUnit.run())
การรันสคริปต์นี้โดยตรงผ่าน Lua (lua test_add.lua
) จะแสดงผลลัพธ์ออกมาเช่น:
.
ทำการทดสอบ 1 ครั้งใน 0.001 วินาที, 1 ความสำเร็จ, 0 ความล้มเหลว
ทั้ง Busted และ LuaUnit มีคุณลักษณะที่กว้างขวางในการจัดการกับสถานการณ์การทดสอบที่หลากหลาย รวมถึงการจำลอง, การสอดแนม, และการทดสอบที่ไม่ประสานเวลา เลือกใช้ระหว่างทั้งสองขึ้นอยู่กับความต้องการเฉพาะของโปรเจกต์ของคุณและความชอบส่วนบุคคลเกี่ยวกับไวยากรณ์และฟังก์ชันการทำงาน