Testing and contributing
RespKit has unit tests for the core module and separate integration suites that send real HTTP requests through upstream framework routers.
Run the checks
Run these commands from the repository root:
make test
make race
make vet
make coverage
make integration
make integration-mappersEach module declares its minimum Go version in go.mod. Optional integrations can require a newer toolchain than the core library. Downloading dependencies for the integration suites requires network access.
The upstream suite exercises real Gin, Echo, Fiber, Chi, Gorilla/mux, and Beego routers with the race detector enabled. The compatibility guide explains how to find the selected dependency versions, platform matrix, and current CI results.
Contribution guidelines
- Put HTTP adapter changes in
internal/transportand verify them against the upstream framework. - Put error classification changes in
internal/resolver; useerrors.Isanderrors.As. - Store built-in translation catalogs under
internal/i18n/locales, with one JSON file per language. - Include regression tests when changing the response format or public API.
- Keep framework and driver dependencies in separate modules under
integrations/. - Do not put raw errors, secrets, or private values in public responses or translation parameters.
- Update the architecture and verification documentation when a change affects package boundaries or test claims.
See the repository's contribution guide and compatibility guide for more detail.
