mimic
A mocking library for Elixir (by edgurgel)
mox
Mocks and explicit contracts in Elixir (by dashbitco)
mimic | mox | |
---|---|---|
3 | 6 | |
350 | 1,293 | |
- | 1.2% | |
4.8 | 6.0 | |
23 days ago | about 1 month ago | |
Elixir | Elixir | |
Apache License 2.0 | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mimic
Posts with mentions or reviews of mimic.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-18.
-
An Introduction to Mocking Tools for Elixir
If you are used to Mocha for other languages, you can check out Mimic. It lets you define stubs and expectations during tests by keeping track of the stubbed module in an ETS table.
-
Purity injection in Elixir
By adjusting the mindset to stop thinking about dependencies and start to think about behaviours (functions) we were able to extract the impure parts of the number generator function. Then, by making them injectable we transformed the impure function to the one into which we can inject purity in tests, making it essentially pure and thus much easier to test. We also didn't need any fancy tool like Mox, Mimic or Rewire to define replacement modules for us. The code is hopefully understandable and uses only built-in Elixir idioms, without macros.
-
Testing in elixir
Check out https://github.com/edgurgel/mimic for mocking purposes
mox
Posts with mentions or reviews of mox.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-18.
- Dealing with random number in tests
-
An Introduction to Mocking Tools for Elixir
Mox helps get around these issues by ensuring explicit contracts. Read Mocks and Explicit Contracts for more details.
-
How to ignore a child of a Supervisor not being able to start during tests?
In order to do this you may use mock (which is simple to use), mox (they have pretty compelling arguments why not to mock traditionally), or specifically for http requests, bypass.
- Como testes ajudam a melhorar o design do código?
- Elixir: Testando chamadas de uma API externa
-
8 Common Causes of Flaky Tests in Elixir
Your options are mock ets/persistent_term — after all, we don't need to test that these things do what they say (Erlang does that for us!) — or have the tests run synchronously. Prefer the former! Mox is a great choice for this sort of work.
What are some alternatives?
When comparing mimic and mox you can also consider the following projects:
mocha - Mocha is a mocking and stubbing library for Ruby
mock - Mocking library for Elixir language
ex_machina - Create test data for Elixir applications
meck - A mocking library for Erlang
plug_cowboy - Plug adapter for the Cowboy web server
ElixirMock - Creates clean, concurrent, inspectable mocks from elixir modules
patch - Ergonomic Mocking for Elixir
definject - Unobtrusive Dependency Injector for Elixir
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.