У меня есть модуль Lua Я пишу для создания запросов к общественному API:Есть ли эквивалент Ruby WebMock для языка Lua?
-- users.lua local http = require("socket.http") local base_url = 'http://example.com' local api_key = "secret" local users = {} function users.info(user_id) local request_url = base_url .. '/users/' .. user_id .. "?api_key=" .. api_key print("Requesting " .. request_url) local response = http.request(request_url) print("Response " .. response) return response end return users
Это работает, но я хотел бы использовать TDD дописать весь API обертку.
У меня есть спецификации (с использованием busted рамок), которая работает, но он делает фактический запрос к API:
-- spec/users_spec.lua package.path = "../?.lua;" .. package.path describe("Users", function() it("should fetch the users info", function() local users = require("users") local s = spy.on(users, "info") users.info("chip0db4") assert.spy(users.info).was_called_with("chip0db4") end) end)
Как высмеивать это, очень нравится, как WebMock работает в Ruby, где фактическая конечная точка не связана? Решение не обязательно должно быть специфичным для перегруженной структуры, кстати.