Skip to content

Questions? The #bobcat channel on the Critter Stack .NET Discord is the fastest way to reach the team.

Tutorials ​

We're following the old Martin Fowler idea of a "Duplex Book", where technical content is organized first as readable tutorials, narratives focused on the problems you're trying to solve. Then comes a second series of breakout topics on the nitty-gritty of Bobcat's APIs.

We advise you to start here on your first look at Bobcat.

If you want toRead
Decide what to test, at which layer, and what makes a suite worth trustingTest Automation Strategy Recommendations
Write specifications in plain C#, in the test runner you already useSpecifications with Code
Set up a lot of data, and verify a lot of dataData Intensive Specifications
Run specs in a build pipeline and get useful failures backIntegrating Bobcat with CI
Run and debug specs from your IDE's test explorerIntegrating Bobcat with Your IDE
Design a system as an Event Model and build from it with the Critter StackEvent Modeling and Spec Driven Development
Stop a large, slow integration suite from being flakyReliable Integration Testing
Start a suite's Postgres, RabbitMQ or SQL Server from an Aspire AppHost instead of docker-composeTest Infrastructure with Aspire
Give a coding agent a fast feedback loop: failures that say what the system did, and a rerun of only what was redAgent Friendly Integration Tests

Bobcat's History ​

The original goal of Bobcat was to be an improved successor to the Storyteller testing tool from the 2010's which in turn was heavily influenced by FitNesse.

Bobcat is obviously influenced by Gherkin tools like Cucumber as well, but the Critter Stack community made the decision to eschew Gherkin or any other kind of Domain Specific Language approach and instead focus on newer .NET tricks to "project" readable specifications out of C# or F# tests written with the testing tools we already use today.

Released under the MIT License.