Lua:
Testien kirjoittaminen
Kuinka:
Lua on kevyt, mutta tehokas skriptauskieli, eikä sisällä sisäänrakennettua testauskehystä. Kolmannen osapuolen kirjastot, kuten Busted ja LuaUnit, tekevät testauksesta suhteellisen suoraviivaista. Tutustumme esimerkkeihin käyttäen molempia.
Käyttäen Bustedia
Busted on suosittu Lua-testauskehys, joka tarjoaa joustavan tavan kirjoittaa testejä. Asenna Busted ensin LuaRocksin (Luas paketinhallinta) kautta komennolla luarocks install busted
. Asennuksen jälkeen voit kirjoittaa testejäsi. Tässä on yksinkertainen testi funktiolle add
, joka summaa kaksi lukua:
-- add.lua
local function add(a, b)
return a + b
end
return add
-- add_spec.lua
local add = require('add')
describe("Add-funktio", function()
it("pitäisi laskea kaksi numeroa oikein", function()
assert.are.equal(5, add(2, 3))
end)
end)
Suorittaaksesi testit, suorita komento busted
terminaalissasi. Esimerkki läpäisseen testin tulosteesta näyttäisi tältä:
●
1 onnistuminen / 0 epäonnistumista / 0 virhettä / 0 odottamassa : 0.002 sekuntia
Käyttäen LuaUnitia
LuaUnit on toinen testauskehys, joka noudattaa xUnit-konventioita ja on helppo ottaa käyttöön. Asenna LuaUnit LuaRocksilla käyttäen komentoa luarocks install luaunit
. Tässä on miten voisit kirjoittaa samanlaisen testin kuin yllä LuaUnitin kanssa:
-- add.lua pysyy samana
-- test_add.lua
luaunit = require('luaunit')
local add = require('add')
function testAdd()
luaunit.assertEquals(add(2, 3), 5)
end
os.exit(luaunit.LuaUnit.run())
Suorittamalla tämän skriptin suoraan Lualla (lua test_add.lua
) tulisi tuloste jotain tällaista:
.
Suoritettiin 1 testiä 0.001 sekunnissa, 1 onnistuminen, 0 epäonnistumista
Sekä Busted että LuaUnit tarjoavat kattavia ominaisuuksia käsittelemään erilaisia testausskenaarioita, mukaan lukien teeskentelyn, vakoilun ja asynkronisen testauksen. Niiden välillä valinta riippuu projektisi erityistarpeista ja henkilökohtaisesta mieltymyksestäsi syntaksin ja toiminnallisuuden suhteen.