Packages
mneme
0.0.1
0.10.2
0.10.1
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.9.0-alpha.1
0.9.0-alpha.0
0.8.2
0.8.1
0.8.0
0.7.0
0.6.1
0.6.0
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.3.0-rc.1
0.3.0-rc.0
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Snapshot testing tool using familiar assertions
Current section
Files
Jump to
Current section
Files
lib/mneme.ex
defmodule Mneme do
@moduledoc """
Auto assert away.
## Options
#{Mneme.Options.docs()}
"""
@doc """
Sets up Mneme to run auto-assertions in this module.
"""
defmacro __using__(_opts) do
quote do
import Mneme, only: [auto_assert: 1]
require Mneme.Options
Mneme.Options.register_attributes()
end
end
@doc """
Configures the Mneme application server to run with ExUnit.
"""
def start do
ExUnit.configure(
formatters: [Mneme.ExUnitFormatter],
default_formatter: ExUnit.CLIFormatter,
timeout: :infinity
)
children = [
Mneme.Server
]
Supervisor.start_link(children, strategy: :one_for_one)
end
@doc """
Generates a match assertion.
"""
defmacro auto_assert(expr) do
Mneme.Assertion.build(expr, __CALLER__)
end
end