Declarative DSL
JSON or YAML test files replace hundreds of lines of C# that build a request, send it, and assert the response the same way every time.
One Format, Two Levels
The same test file runs as a component test (mocked via WireMock) and an integration test (real services) — only the fixture configuration changes.
Rich Matchers & Data Flow
ignore, pattern, and semantic matchers handle dynamic fields declaratively; extract and {{inject}} pass values between tests.
A note from the creator
Why this exists
A component test and an integration test are nearly identical in shape: same request, same response, same kind of assertion. They still live separately, the component test in your repository with the developers, the integration test wherever QA runs it, but ConfIT gives both sides the same way to write that shape, a JSON or YAML file instead of a different hand-built setup each time. Increasingly, a skill writes that file for you, straight from your OpenAPI spec or your controller.
Built from watching that duplicated effort happen on every API team since 2022. It matters even more now that the code on both sides of the test might be agent-written too.
Why I built ConfIT, and where I want your feedback →