# Testify API Reference

This site is a **Sourcey-generated reference for [Testify](https://github.com/stretchr/testify)**, the
testing library used by a large share of the Go ecosystem. It was generated from the upstream
source tree at one pinned commit, so every symbol, signature and doc comment on this site is the
upstream text, not a paraphrase.

- **Upstream project** — `github.com/stretchr/testify` (MIT)
- **Pinned commit** — [`87a7b9d57689f6579db2da795ab8deeab29cb724`](https://github.com/stretchr/testify/commit/87a7b9d57689f6579db2da795ab8deeab29cb724)
- **Generator** — Sourcey `v3.8.3` (MIT), `godoc` adapter, snapshot build
- **Rendered API surface** — 711 exported entry points across the 5 public packages


## What is in here {#what-is-in-here}


| Package | Import path | What it gives you |
|---|---|---|
| `assert` | `github.com/stretchr/testify/assert` | The assertion functions (`Equal`, `Contains`, `Error`, …) and the chainable `*Assertions` type |
| `require` | `github.com/stretchr/testify/require` | The same assertions, but they call `t.FailNow()` instead of returning `bool` |
| `mock` | `github.com/stretchr/testify/mock` | Mock objects with expectation matching, call recording and assertions on those calls |
| `suite` | `github.com/stretchr/testify/suite` | Table-driven suites with `SetupTest`/`TearDownTest` lifecycle hooks |
| `http` | `github.com/stretchr/testify/http` | `httptest` helpers: a test round tripper and a response recorder |

Use the **API Reference** tab for the per-symbol reference and the **Guide** tab for the
provenance and coverage pages.


## Why this site exists {#why-this-site-exists}


Upstream ships one 366-line `README.md` plus a package comment in each package's `doc.go`.
There is no per-symbol reference in the repository, and the reference that most Go developers
read (`pkg.go.dev`) is auto-generated and carries no coverage information. This site adds three
things that upstream does not provide:

1. **One searchable reference across all five public packages**, with source links pinned to the
   exact commit rather than to a moving branch.
2. **A measured coverage picture** — how many exported symbols carry a doc comment, how many
   carry a runnable example, and where the gaps are. See [Documentation coverage](https://testify.anonymux.org/coverage.md).
3. **Per-package navigation that reflects how the library is actually used** — `require` mirrors
   `assert` one-for-one, and the site shows that relationship instead of hiding it in two
   alphabetical lists.

See [Provenance](https://testify.anonymux.org/provenance.md) for the exact commands, the pinned commit and the licence.
