   end
 
   @doc false
+  # We inject this code in the module that calls "use MyTemplate".
   def __proxy__(module, opts) do
     quote do
       use ExUnit.Case, unquote(opts)

  This is useful when there are a set of setup callbacks or a set
  of functions that should be shared between test modules.

  Once a case template is used, the regular functionality in
  `ExUnit.Case` plus the functionality defined in the template
  will become available.

  ## Example


        end
      end

  You can specify an argument to `using/2`:

      defmodule MyCase do
        use ExUnit.CaseTemplate

        using options do
          quote do
            if unquote(options)[:import_helpers] do
              import MyApp.TestHelpers
            end
          end
        end
      end

  The second argument passed to `use MyCase` gets forwarded to `using/2` too:

      defmodule SomeTestCase do
        use MyCase, async: true, import_helpers: true, async: true

        test "the truth" do
          # truth/0 comes from MyApp.TestHelpers:
          assert truth()
        end
      end

  > #### Sharing options with `use ExUnit.Case` {: .warning}
  >
  > The second argument that you pass to `use MyCase` is *also* passed
  > as the second argument to `use ExUnit.Case`.

  """
  defmacro using(var \\ quote(do: _), do: block) do
    quote do
