Herve37

Herve37

We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using.

We’re particularly interested in:

  • OpenAPI compatibility
  • Mock server capabilities
  • Easy collaboration
  • Integration with testing workflows

What has worked best for your team?

Showing Posts 1 to 10

lud

lud

Hello,

What are you trying to mock in elixir? External APIs or your own API?

Lewis

Lewis

Bypass - for HTTP
Mimic - for in process APIs, things that [may] call modules which HTTP

warmwaffles

warmwaffles

I have been using Sham over Bypass for a while now.

Mimic for quick mocking

Mox occasionally.

When testing with something that uses Req, I just use the built in Req.Test things. Super handy.

karlosmid

karlosmid

Efx moves mocking in new direction: Efx - A library to declaratively write testable effects | Elixir Forum
I used in one of my pet projects

dimitarvp

dimitarvp

What were your impressions?

karlosmid

karlosmid

Hi @dimitarvp, biggest win compared to Mox (up to Efx the best option) is no hassle with configurations and precondition that boundary needs to have behaviour. In testing, you bind your boundary functions and you are good to go.

funboy

funboy

is no hassle with configurations

Mimic works in the same way too

Unique power of Efx is

Efx uses the fairly new ancestor-keys from the process dictionary to track down the bindings for tests event for child-processes and therefore, more tests can be implemented asynchronously.

dimitarvp

dimitarvp

I was about to say but got beaten to it: how is this different than Mimic?

Though I have to say: explicit or implicit marking of effects is very, VERY, welcome. Don’t get me wrong.

krasenyp

krasenyp

I glanced over Efx and yeah, just as I expected, it’s another way to NOT do proper dependency injection. Why are we so afraid to code against protocols and pass around structs which implement them?

funboy

funboy

Why are we so afraid to code against protocols

protocols are about polymorphism based on the struct type, whereas we’re discussing behavior that depends on the environment. For example, in test env we may want to avoid making real HTTP calls or spawning real processes.

Mox is a great fit when you’re abstracting an external dependency behind a behavior. But for testing internal implementations, I find e.g. Mimic much more convenient. It lets you mock internal modules without adding extra behaviors, configuration, or maintenance overhead :sweat_smile:

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 92995 915
New
AstonJ
The obligatory hello world thread! Who are you and where are you from? :stuck_out_tongue:
4616 55835 594
New
caslu
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
New
matt-savvy
Is there a word for the ~> symbol used in Version strings? Do you also just call it a Squiggle Arrow™ ?!
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
aseigo
ICal is a library for interacting with iCalendar data. It parses iCalendars into typed Elixir structs via ICal.from_ics, and can prepare ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews