Lua:
编写测试

如何进行:

Lua是一种轻量级却强大的脚本语言,它没有内置的测试框架。但是,第三方库如Busted和LuaUnit使得测试相对直接。在这里,我们将看看使用这两者的示例。

使用 Busted

Busted是一个受欢迎的Lua测试框架,提供了一种灵活的方式来写测试。首先,通过LuaRocks(Lua的包管理器)用luarocks install busted安装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", function()
  it("应正确添加两个数字", function()
    assert.are.equal(5, add(2, 3))
  end)
end)

要运行测试,在终端执行busted。一个通过测试的样本输出看起来像这样:

●
1 成功 / 0 失败 / 0 错误 / 0 待定 : 0.002 秒

使用 LuaUnit

LuaUnit是另一个遵循xUnit惯例的测试框架,设置简单。通过LuaRocks使用luarocks install luaunit安装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),输出结果可能像这样:

.
在0.001秒内运行了1个测试, 1 成功, 0 失败

Busted和LuaUnit都提供了广泛的特性来处理各种测试情景,包括模拟、间谍和异步测试。在它们之间的选择取决于您的项目的具体需求以及您对于语法和功能的个人偏好。