As I understand :application.get_key(:my_app, :module)
lists all of compiled modules under the :my_app application. I have a question when we create a module during runtime. The created module is not listed as a result of running application.get_key(:my_app, :module)
Please see the case before -
defmodule MyAppTest do
use ExUnit.Case
doctest MyApp
test "get modules" do
defmodule MyApp.A do
def a(), do: "a"
end
assert "a" == MyApp.A.a() # This one works
{:ok, modules} = :application.get_key(:my_app, :modules)
assert MyApp.A in modules # Why this line is failing. How can I get all the compiled modules at this time?
after
purge(MyApp.A)
end
defp purge(module) do
:code.delete(module)
:code.purge(module)
end
end
Are there any other functions to fetch for the compiled modules at the current time?
I am doing as above, I only want this module during the test time and only for this specific test, i.e, I don’t want this module to be available during running other tests.