test/support/macro_helpers.ex

defmodule ExshomeTest.MacroHelpers do
  @moduledoc """
  Helpers to test macrogeneration.
  """

  defmacro compile_with_settings(module, settings) do
    quote do
      require unquote(module)
      configuration = unquote(settings)
      module_to_test = unquote(module)

      quote do
        unquote(module_to_test).__using__(unquote(configuration))
      end
      |> Macro.expand(__ENV__)
      |> Macro.to_string()
    end
  end
end