Partial post body matching with webmock
When using webmock to stub out a post, you can specify that the post has a
specific body. When dealing with web apis, that body is json
and you want to
compare the body to a ruby hash
, from the webmock
README, that looks like this:
stub_request(:post, "www.example.com").
with(body: {a: '1', b: 'five'})
In the above example, the whole json body has to be represented in the hash.
Webmock provides a way to just examine a portion of the json/hash with the
hash_including
method. This is not the rspec hash_including
this is a
webmock specific function using the WebMock::Matchers::HashIncludingMatcher
class.
stub_request(:post, "www.example.com").
with(body: hash_including({a: '1'}))
Tweet