Okay, I’ve figured out:
- The test should not be in async mode, i.e.,
use ExUnit.Case, async: false. Also, instead of:set_mox_from_context, be explicit and use:set_mox_global(for simpler test body) or useallow/3to grant the sharing (more verbose); refer to Mox — Mox v1.0.0 for more info. - The (test) config file needs to reference the mocked version.
To ensure repeatability, SoggyWaffle.WeatherAPI.Behavior should also be stubbed to make SoggyWaffle.rain?/2 always return true.
HTH.