Как сделать юнит-тестирование с помощью busted в openresty?
У меня есть куча файлов lua, которые я использую для обработки разных URL в nginx, например:
location /tag {
set $env 'prod';
set $redis_ttl 7776000;
content_by_lua_file 'conf/match.lua';
log_by_lua_file 'conf/log.lua';
}
Каждый файл представляет собой простой скрипт, без какой-либо структуры модуля. Когда количество строк и файлов было небольшим, я проверял все вручную, но теперь я чувствую, что мне нужно провести модульное тестирование. Busted Framework выглядит как логичный выбор, хотя я не могу понять, как вписать его в модель openresty.
2 ответа
Однако я не очень знаком с Busted, если вы достаточно комфортно используете Perl; у автора Openresty есть тестовая платформа, специально предназначенная для тестирования кода nginx-lua: Test::Nginx::Socket::Lua
Вы можете найти здесь модуль CPAN, а исходный код - здесь.
Опоздал на вечеринку, но вот как вы можете прозрачно использовать Busted с OpenResty: https://github.com/lunarmodules/busted/issues/414#issuecomment-792614808