# `Pact.MockServer`

A mock server that handles the requests described in a `Pact`, intended
for use in tests, and validates that the requests made to that server are
correct.

Because this is intended for use in tests, it will panic if something goes
wrong.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `path`

```elixir
@spec path(pid :: pid(), path :: String.t()) :: String.t()
```

Given a path string, return a URL pointing to that path on the mock
server. If the path cannot be parsed as URL, **this function will
panic**. For a non-panicking version, call Pact.MockServer.url/1 instead and build
this path yourself.

# `start`

```elixir
@spec start(pact_builder :: Pact.Native.PactConsumer.PactBuilder.t()) ::
  :ignore | {:error, any()} | {:ok, pid()}
```

# `url`

```elixir
@spec url(pid :: pid()) :: String.t()
```

The base URL of the mock server. You can make normal HTTP requests using this
as the base URL (if it is a HTTP-based mock server).

---

*Consult [api-reference.md](api-reference.md) for complete listing*
