I wonder if someone can help me riddle this one out!
Inside an umbrella app I have an OTP application. I want to test this OTP application and want to set up a custom case.
This is the directory structure that my tests reside in. user_management/fraud_test.exs
is where my test lives and support/case.ex
is where my case lives.
main_app
- apps
-- user_management
--- test
---- support
----- case.ex
---- user_management
----- fraud_test.exs
My case is pretty straight forward;
defmodule UserManagement.Case do
use ExUnit.CaseTemplate
using do
quote do
alias UserManagement.Repo
import Ecto
import Ecto.Changeset
import Ecto.Query
import UserManagement.Case
end
end
setup tags do
...
end
end
And my test is really simple;
defmodule UserManagement.FraudTest do
use UserManagement.Case
doctest UserManagement.Fraud
end
When I run mix test
I get the following;
** (CompileError) apps/user_management/test/user_management/fraud_test.exs:2: module UserManagement.Case is not loaded and could not be found
(elixir) expanding macro: Kernel.use/1
test/user_management/fraud_test.exs:2: UserManagement.FraudTest (module)
(elixir) lib/code.ex:370: Code.require_file/2
(elixir) lib/kernel/parallel_require.ex:57: anonymous fn/2 in Kernel.ParallelRequire.spawn_requires/5
I have to imagine I have fat fingered something, but I’ve used what I think is identical setup in other projects and it works fine.
Any help would be greatly appreciated