Publicist

Publicist is a module which, when in the test environment, remaps defp to def.

Usage

defmodule MyModule do
use Publicist # use before any def statements
defp my_priv_function do
0
end
end

Now you can test the private function:

defmodule MyModule.Test do
use ExUnit.Case
test "my_priv_function returns 0" do
assert my_priv_function() === 0
end
end

Installation

Publicist can be installed by adding publicist to your list of dependencies in mix.exs:

def deps do
[{:publicist, "1.0.0"}]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/publicist.