The CheckOps Engineer
APITest
A simple and extensible behavioural testing library for Go.
Latest public signals
Page copy revised 25 Oct 2026 from public sources. Refresh checks the live site and, when this entry has a GitHub repository, the latest release.
Introduction
A simple and extensible behavioural testing library for Go HTTP services. Tests are written the way a client uses the API: build a request, send it to the handler, and assert on the response. External HTTP calls can be mocked, and every test can render a sequence diagram of what happened.
The latest GitHub release listed on 25 Oct 2026 was v1.6.2, published 2026-10-19.
Features
These items are quoted from public documentation fetched on 25 Oct 2026. Taken from repository README headings.
- Documentation: This README covers the whole library. The same material with more narrative is at https://apitest.dev, and the API reference is on pkg.go.dev.
- Method and URL: Get, Post, Put, Patch and Delete set the method and URL. Each has an f variant that formats the URL, and Method covers anything else.
- Query parameters: Query, QueryParams and QueryCollection can be combined. QueryCollection sets repeated parameters, so map[string][]string{“a”: {“b”, “c”, “d”}} is encoded as a=b&a=c&a=d.
- Body: Body sets a raw body. JSON sets the body and the Content-Type header; it accepts a string, a []byte, or any value that can be marshalled. BodyFromFile and JSONFromFile read the body from disk.
- Context: WithContext sets the request context, which is how deadlines, cancellation and context values reach the handler.
- Intercept: Intercept receives the built http.Request just before it is sent, for changes the builder does not cover.
Pros
Points stated in the public sources fetched on 25 Oct 2026:
- Published license: The GitHub repository lists MIT License (MIT).
- Repository topics: The repository’s GitHub topics include api-testing, behavioural-tests, blackbox-testing, golang, jsonpath, mocking, mocks, sequence-diagrams.
Cons
The pages fetched on 25 Oct 2026 do not publish a limitations list. That absence is not evidence that the tool has no drawbacks. Current issues are tracked at https://github.com/steinfletcher/apitest/issues.
Usage and Links (Example)
The repository README includes this example (from “Quick start”):
func TestGetUser(t *testing.T) {
apitest.New().
Handler(handler).
Get("/user/1234").
Expect(t).
Status(http.StatusOK).
Body(`{"id": "1234", "name": "Tate"}`).
End()
}
Resources:
Pricing
The repository lists MIT License (MIT). No public price was found on the pages fetched on 25 Oct 2026. This rewrite does not guess a number. Check the official website before treating the tool as free or paid.
Recommended for?
The fetched pages do not name a target audience. Decide fit from the official description and the feature list above.
Conclusion
APITest is summarized by its public description as: “A simple and extensible behavioural testing library for Go.”.
The latest GitHub release listed was v1.6.2, published 2026-10-19.
This page was rebuilt on 25 Oct 2026 from apitest.dev, github.com. It keeps only what those pages stated. Confirm the current product, license, and price on the official site before you adopt it.