0

パブリック API へのリクエストを作成するために書いている Lua モジュールがあります。

-- users.lua

local http = require("socket.http")
local base_url = 'http://example.com'
local api_key = "秘密"
ローカル ユーザー = {}

関数 users.info(user_id)
  local request_url = base_url .. '/users/' .. user_id .. "?api_key=" .. api_key
  print("リクエスト中" .. request_url)
  ローカル応答 = http.request(request_url)
  print("応答" ..応答)
  応答を返す
終わり

ユーザーを返す

これは機能しますが、TDD を使用して API ラッパー全体の作成を完了したいと考えています。

動作する仕様 (壊れたフレームワークを使用) がありますが、API に対して実際の要求を行います。

-- spec/users_spec.lua

package.path = "../?.lua;" .. パッケージパス

describe("ユーザー", function()
  it("ユーザー情報を取得する必要があります", function()
    ローカル ユーザー = 必須 ("ユーザー")
    ローカル s = spy.on(ユーザー、「情報」)
    users.info("chip0db4")
    assert.spy(users.info).was_called_with("chip0db4")
  終わり)
終わり)

実際のエンドポイントに接続されていない Ruby でWebMockが動作するのと同じように、これをモック化するにはどうすればよいですか? 解決策は、壊れたフレームワークに固有のものである必要はありません。

4

1 に答える 1

0

ここhttps://gist.github.com/TannerRogalsky/b56bc886811f8f0a9d2aに示すように、 https://github.com/TannerRogalskyからいくつかの優れたフィードバックを受け取った後、http 要求用の独自のモック ライブラリを作成することにしました: https://github .com/chip/webmock . それは非常に初期の段階にありますが、少なくとも始まりです。リポジトリへの貢献や、他のアプローチや利用可能な Lua モジュールに関する提案に感謝します。

于 2014-06-29T02:04:51.923 に答える