hypermock alternatives and similar packages
Based on the "Testing" category.
Alternatively, view hypermock alternatives based on common mentions on social networks and blogs.
-
hound
Elixir library for writing integration tests and browser automation -
proper
PropEr: a QuickCheck-inspired property-based testing tool for Erlang -
bypass
Bypass provides a quick way to create a custom plug that can be put in place instead of an actual HTTP server to return prebaked responses to client requests. -
ExVCR
HTTP request/response recording library for elixir, inspired by VCR. -
amrita
A polite, well mannered and thoroughly upstanding testing framework for Elixir -
power_assert
Power Assert in Elixir. Shows evaluation results each expression. -
FakerElixir
[unmaintained] FakerElixir generates fake data for you. -
shouldi
Elixir testing libraries with nested contexts, superior readability, and ease of use -
katt
KATT (Klarna API Testing Tool) is an HTTP-based API testing tool for Erlang. -
FakeServer
FakeServer integrates with ExUnit to make external APIs testing simpler -
Stubr
Stubr is a set of functions helping people to create stubs and spies in Elixir. -
mix_test_interactive
Interactive watch mode for Elixir's mix test. https://hexdocs.pm/mix_test_interactive/ -
mecks_unit
A simple Elixir package to elegantly mock module functions within (asynchronous) ExUnit tests using Erlang's :meck library -
test_selector
Elixir library to help selecting the right elements in your tests. -
factory_girl_elixir
Minimal implementation of Ruby's factory_girl in Elixir. -
toxiproxy_ex
ToxiproxyEx is an Elixir API client for the resilience testing tool Toxiproxy. -
mix_erlang_tasks
Common tasks for Erlang projects that use Mix -
ex_parameterized
This library support parameterized test with test_with_params macro. -
cobertura_cover
Output test coverage information in Cobertura-compatible format -
ex_unit_fixtures
A library for defining modular dependencies (fixtures) for ExUnit tests. -
ElixirMock
Creates clean, concurrent, inspectable mocks from elixir modules
Static code analysis for 29 languages.
Do you think we are missing an alternative of hypermock or a related project?
README
HyperMock
HTTP request stubbing and expectation Elixir library. Intercepts HTTP calls and either returns a stubbed response if that request was stubbed or raises an error if a matching request was not found in the stubbed requests.
The idea is to provide tools to explicitly verify properties of the actual request rather than loose stubbing to return canned responses in your tests.
Unused stubs in your tests will also raise errors.
defmodule RequestTest do
use HyperMock
def fail do
HyperMock.intercept do
# No expectations have been set. This will raise an error.
HTTPotion.get "http://example.com:3000/users", [body: "hello=world", headers: ["User-Agent": "My App"]]
end
end
def yay do
HyperMock.intercept do
request = %Request{ method: :get, uri: "http://lol.biz.info", headers: ["User-Agent": "My App"] }
response = %Response{ body: "LOOOOOOOOOOOOL m8!" }
stub_request request, response
# This will return a HTTPotion.Response struct with a 200 status and body of "LOOOOOOOOOOOOL m8!"
HTTPotion.get("http://lol.biz.info", headers: ["User-Agent": "My App"]) |> inspect |> IO.puts
end
end
end
Limitations
Only works with ibrowse synchronous requests right now. If you want to add support for asynchronous requests or another client open an issue and let's talk about it :)
Contributing
If you have an idea please open an issue to start discussion first. The feature may have been discussed previously or in development.