コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

Webmockでform送信されるリクエストをモックする

割と考えればわかりそうなことだが、ピンと来なかったのでメモとして書く

環境

webmock (3.5.1)

やり方

WebMockのwithに以下の記述を書き足す

headers: { "Content-Type": "application/x-www-form-urlencoded" }

user_idの100がformでPOSTでされたときに名前がJSONで返却される形のモック

stub_request(:post, "https://example.com").with(
    body: {
        "user_id" => 100,
    },
    headers: {"Content-Type": "application/x-www-form-urlencoded"},
).to_return(
    status: 200,
    body: {
        "name": "TARO",
    }.to_json,
    headers: {},
)

参考リンク