Fork me on GitHub


SpecsFor can be easily tailored to how you want to write tests. You can keep it old-school and skip the BDD-style syntax:

If you are a more experienced tester who prefers the BDD-way and one-assert-per-test, you can separate your Given, When, and Then steps. SpecsFor will ensure that your Given and When are only run once no matter how many Then's you have.

You can easily reuse context across test fixtures in a variety of ways. There's the typical inheritance-based approach:

If you prefer a more composable approach, you can separate your context out and apply one or more Givens in a fixture:

If your When and Then steps are constant, but you need to evaluate them across a variety of Given contexts, you can take advantage of the attribute-based approach, and your fixture will be executed multiple times, once for each attribute:

Ready To Test?

The easiest way to get started with SpecsFor is to install it with NuGet.

PM> Install-Package SpecsFor