A couple of years ago I was working on a project with a decent-sized REST API. We had integration tests, but maintaining them was painful. Every new endpoint meant a new test class, another fixture, another round of HttpClient setup, response deserialization, custom matchers for dynamic fields like IDs and timestamps. The tests themselves were fine. The ceremony around them was not.

I kept thinking: the actual information in a test is tiny. It's a method, a path, some input, an expected output. Everything else is just the same scaffolding rewritten. What if the test was just... that information, and nothing else?

That's what I built. ConfIT is a .NET library where you write your API tests in YAML (or JSON if you prefer), and the library handles execution, mock setup, response matching, and variable passing between tests.

A test looks like this:

CreateUser: