Lua:
Skriva tester

Hur man gör:

Lua, som är ett lättviktigt men kraftfullt skriptspråk, inkluderar inte ett inbyggt testramverk. Dock gör tredjepartsbibliotek som Busted och LuaUnit testning relativt enkel. Här kommer vi att titta på exempel som använder båda.

Använda Busted

Busted är ett populärt Lua-testramverk som erbjuder ett flexibelt sätt att skriva tester. Först, installera Busted genom LuaRocks (Luas pakethanterare) med luarocks install busted. När det är installerat kan du skriva dina tester. Här är ett enkelt test för en funktion add som summerar två tal:

-- add.lua
local function add(a, b)
  return a + b
end

return add
-- add_spec.lua
local add = require('add')

describe("Addfunktionen", function()
  it("ska korrekt addera två tal", function()
    assert.are.equal(5, add(2, 3))
  end)
end)

För att köra testerna, exekvera busted i din terminal. Exempelutmatning för ett lyckat test kan se ut så här:

●
1 framgång / 0 misslyckanden / 0 fel / 0 väntande : 0.002 sekunder

Använda LuaUnit

LuaUnit är ett annat testramverk som följer xUnit-konventioner och är lätt att sätta upp. Installera LuaUnit via LuaRocks med luarocks install luaunit. Så här kan du skriva ett liknande test som ovan med LuaUnit:

-- add.lua är densamma

-- test_add.lua
luaunit = require('luaunit')
local add = require('add')

function testAdd()
  luaunit.assertEquals(add(2, 3), 5)
end

os.exit(luaunit.LuaUnit.run())

Att köra detta skript direkt via Lua (lua test_add.lua) kommer att producera något som:

.
Körde 1 test på 0.001 sekunder, 1 framgång, 0 misslyckanden

Både Busted och LuaUnit erbjuder omfattande funktioner för att hantera olika testscenarier, inklusive mockning, spionering och asynkron testning. Valet mellan dem ligger i de specifika behoven av ditt projekt och din personliga preferens gällande syntax och funktionalitet.