The CheckOps Engineer home

Tools directory

A

The CheckOps Engineer

APITest

A simple and extensible behavioural testing library for Go.

Visit website

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.

Visit Website

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Context: WithContext sets the request context, which is how deadlines, cancellation and context values reach the handler.
  6. 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:

  1. Published license: The GitHub repository lists MIT License (MIT).
  2. 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.

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.

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.