You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
VHS is a webmocking framework for Erlang inspired by Ruby's vcr
gem. In the moment it only supports the
ibrowse http client, but support for other
libraries should be easy to add.
Show me the code
ibrowse:start(),
vhs:configure(ibrowse, []),
vhs:use_cassette(doc_domain_test,
fun() ->Response=ibrowse:send_req("https://www.iana.org/domains/example",
[],
get),
%% Uses the same structure of the mocked library.
{ok, Status, _Headers, Body} =Response,
?assert_equal(Status, "200"),
?assert(contains(Body, "Example Domain"))
end),
How does it work?
VHS uses Meck to wrap ibrowse's send_req function and check whether the request has
been performed already. The first time, vhs will record the request-response into a
file, for later calls.
Tests
The tests are using in etest. In order to run the tests locally
you just have to run the following command:
./bin/test
This will spawn a static server, compile the code and run the tests.
Contributing
Pull Request. And always add a test to account for the behavior change/Feature.
About
A simple webmocking library based on VCR for Erlang