     end
   end
 
+  @doc """
+  Called before the start of a case.
+  """
   defmacro setup_all(var // quote(do: _), block) do
     quote do
       name = :"__exunit_setup_all_#{length(@exunit_setup_all)}"

      compile_callbacks(env, :exunit_teardown_all) ]
  end

  defmacro setup(var // quote(do: _), block) do
    quote do
      name = :"__exunit_setup_#{length(@exunit_setup)}"

    end
  end

  @doc """
  Called after the finish of each test. Note that, if the test crasches with an exit
  message `teardown` will not be run.
  """
  defmacro teardown(var // quote(do: _), block) do
    quote do
      name = :"__exunit_teardown_#{length(@exunit_teardown)}"
