# Documentation coverage

These numbers are **measured from the pinned source tree**, not estimated. They come from two
independent passes over the same commit:

1. the Go toolchain's own godoc snapshot (what this site renders), and
2. a source-level parse of every non-test `.go` file in the five public packages.

Pinned commit: [`87a7b9d57689f6579db2da795ab8deeab29cb724`](https://github.com/stretchr/testify/commit/87a7b9d57689f6579db2da795ab8deeab29cb724)


## API surface {#api-surface}


| Package | Entries rendered on this site | Exported symbols in source | With a doc comment | Runnable examples |
|---|---:|---:|---:|---:|
| `assert` | 327 | 327 | 327 (100.0%) | 5 |
| `require` | 311 | 311 | 311 (100.0%) | 4 |
| `mock` | 46 | 49 | 46 (93.9%) | 0 |
| `suite` | 21 | 21 | 20 (95.2%) | 0 |
| `http` | 6 | 6 | 6 (100.0%) | 0 |
| **Total** | **711** | **714** | **710** (99.4%) | **9** |

The two columns differ by 3 entries: the source parse also counts
declarations the Go doc tool folds away (for example methods that only exist on an
unexported receiver type). Both numbers are far above the twenty-API floor the reference
is meant to clear; the site renders the toolchain-verified surface of
**711** entries, and the source-level parse independently confirms
**714**.


## The gap this reference is for {#the-gap-this-reference-is-for}


1. **Doc comments are near-complete but the *examples* are not.** 710 of 714 exported symbols carry a doc comment, yet the whole public API ships only
   **9 runnable `Example…` functions** — all of them attached to the five
   `…AssertionFunc` types in `assert` and `require`. A reader looking for how to use
   `Containsf` or `mock.Arguments` in the wild finds no example in the repository at all.
2. **The `assert`/`require` duplication is invisible in the README.** `require` mirrors
   `assert` one-for-one with a different failure mode, and `assert.Assertions` mirrors the
   package-level functions as chainable methods. Upstream documents that in prose only;
   here both forms sit side by side in one reference so a reader can see which shape they
   actually need.
3. **Upstream ships no per-symbol reference in the repository.** The repo carries a
   366-line `README.md` and one `doc.go` per package. Everything else a user needs is
   generated by `go doc`/`pkg.go.dev`, which cannot report coverage.


## Symbols with no doc comment {#symbols-with-no-doc-comment}


| Symbol | Kind | Location |
|---|---|---|
| `mock.Anything` | const | `mock/mock.go:789` |
| `mock.Matches` | method | `mock/mock.go:879` |
| `mock.String` | method | `mock/mock.go:905` |
| `suite.Passed` | method | `suite/stats.go:42` |


## Source files {#source-files}


18 non-test source files were parsed across the five public packages:

- `assert/assertion_compare.go`
- `assert/assertion_format.go`
- `assert/assertion_forward.go`
- `assert/assertion_order.go`
- `assert/assertions.go`
- `assert/errors.go`
- `assert/forward_assertions.go`
- `assert/http_assertions.go`
- `http/test_response_writer.go`
- `http/test_round_tripper.go`
- `mock/mock.go`
- `require/forward_requirements.go`
- `require/require.go`
- `require/require_forward.go`
- `require/requirements.go`
- `suite/interfaces.go`
- `suite/stats.go`
- `suite/suite.go`
