【发布时间】:2014-02-24 09:49:08
【问题描述】:
我正在编写一个 Lua 模块,用于向公共 API 发出请求:
--users.lua 本地 http = 要求(“socket.http”) 本地 base_url = 'http://example.com' 本地 api_key = "秘密" 本地用户 = {} 函数 users.info(user_id) 本地 request_url = base_url .. '/users/' .. user_id .. "?api_key=" .. api_key 打印(“请求” .. request_url) 本地响应 = http.request(request_url) 打印(“响应” ..响应) 返回响应 结尾 回头客这可行,但我想使用 TDD 来完成整个 API 包装器的编写。
我有一个规范(使用 busted 框架)可以工作,但它向 API 发出了实际请求:
-- 规范/users_spec.lua package.path = "../?.lua;" .. 包路径 描述(“用户”,函数() it("应该获取用户信息", function() 本地用户 = 要求(“用户”) 本地 s = spy.on(用户,“信息”) users.info("chip0db4") assert.spy(users.info).was_call_with("chip0db4") 结尾) 结尾)我如何模拟这个,就像WebMock 在 Ruby 中的工作方式一样,实际端点没有被联系? 解决方案不需要特定于被破坏的框架,顺便说一句.
【问题讨论】:
标签: api lua mocking webmock lua-busted