2011年8月11日 星期四

LuaUnit

前言

在撰寫 bmclass 前,search 了一下 Lua 的 unittest 工具,竟有10種以上的套件任君挑選...實際都把玩過,各有各的好,但有些過於簡單,有些過於複雜,當初也是因為這樣才誕生 bmclass,所以我選了一個中庸的 LuaUnit。

資源連結

http://phil.freehackers.org/programs/luaunit/

bmclass 的使用範例

 
-- include bmclass
class = dofile("../bmclass.lua")
 
 
-- incldue test module
require("luaunit")
 
 
-- test start
Testbmlass = {}
 
function Testbmlass:setUp() end
 
function Testbmlass:tearDown() end
 
function Testbmlass:testCreateSimpleClass1()
    local cls = class("cls")
    local obj = cls()
    function obj:__tostring() return "obj" end
    
    assertEquals(tostring(cls), "cls")
    assertEquals(tostring(obj), "obj")
end
 
-- test end
 
LuaUnit:run()

對我來說,其實單元測試只要有 assert 以及 setUp/tearDown 便非常足夠了,剩下的特殊例子大可另外想辦法進行測試,不需要將單元測試搞得太過複雜,當寫測試令人感到無比的負擔,這麼一來會令許多工程師打退堂鼓的。

沒有留言:

張貼留言