Lua:
Scrivere test
Come fare:
Lua, essendo un linguaggio di scripting leggero eppure potente, non include un framework di test incorporato. Tuttavia, librerie di terze parti come Busted e LuaUnit rendono il testing relativamente semplice. Qui, vedremo esempi utilizzando entrambi.
Utilizzando Busted
Busted è un popolare framework di test per Lua che offre un modo flessibile per scrivere test. Innanzitutto, installa Busted tramite LuaRocks (il gestore di pacchetti di Lua) con luarocks install busted
. Una volta installato, puoi scrivere i tuoi test. Ecco un semplice test per una funzione add
che somma due numeri:
-- add.lua
local function add(a, b)
return a + b
end
return add
-- add_spec.lua
local add = require('add')
describe("Funzione di addizione", function()
it("dovrebbe sommare due numeri correttamente", function()
assert.are.equal(5, add(2, 3))
end)
end)
Per eseguire i test, esegui busted
nel tuo terminale. L’output di esempio per un test superato sarebbe:
●
1 successo / 0 fallimenti / 0 errori / 0 in sospeso : 0.002 secondi
Utilizzando LuaUnit
LuaUnit è un altro framework di test che segue le convenzioni di xUnit ed è facile da configurare. Installa LuaUnit tramite LuaRocks usando luarocks install luaunit
. Ecco come potresti scrivere un test simile a quello sopra con LuaUnit:
-- add.lua rimane lo stesso
-- test_add.lua
luaunit = require('luaunit')
local add = require('add')
function testAdd()
luaunit.assertEquals(add(2, 3), 5)
end
os.exit(luaunit.LuaUnit.run())
Eseguendo direttamente questo script tramite Lua (lua test_add.lua
) produrrà un output come:
.
Eseguiti 1 test in 0.001 secondi, 1 successo, 0 fallimenti
Sia Busted che LuaUnit offrono ampie funzionalità per gestire vari scenari di test, inclusi il mocking, lo spying e il testing asincrono. La scelta tra di loro dipende dalle esigenze specifiche del tuo progetto e dalla tua preferenza personale riguardo alla sintassi e alla funzionalità.