Packages

Change defp to def when mix test

Current section

Files

Jump to
testable_defp lib testable_defp.ex
Raw

lib/testable_defp.ex

defmodule TestableDefp do
defmacro __using__([]) do
quote do
import Kernel, except: [defp: 1, defp: 2]
import TestableDefp, only: [defp: 1, defp: 2]
end
end
defmacro defp(head) do
if Mix.env() == :test do
quote do
Kernel.def(unquote(head))
end
else
quote do
Kernel.defp(unquote(head))
end
end
end
defmacro defp(head, body) do
if Mix.env() == :test do
quote do
Kernel.def(unquote(head), unquote(body))
end
else
quote do
Kernel.defp(unquote(head), unquote(body))
end
end
end
end