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.




















