Как запускать before_each в каждом тесте с помощью busted
Я запускаю свои тесты как ржавые тесты /app/init.lua. Для всех моих тестов я хочу иметь функцию before_each, которая работает во всех моих тестах. Мне удалось это сделать, но я думаю, что это очень взломано:
-- tests/app/init.lua
require 'busted.runner'()
local busted = require 'tests.setup'
busted.describe('init', function()
describe('a test suite', function()
...
end)
end)
-- tests/setup.lua
require 'busted.runner'()
local busted = require('busted')
local mt = getmetatable(busted)
mt.__newindex = nil
local describe = busted.describe
busted.describe = function(title, cb)
describe(title, function()
busted.before_each(function()
-- can run anything here
end)
cb()
end)
end
return busted
Это вызовет какие-то проблемы? Вроде нормально работает. Есть ли рекомендуемый способ сделать это?