If you have the excelent Visual Studio plugin, NCrunch, you can have it run FSpec tests as you are writing your code - with some limitations, unfortunately.
The primary limitation is that NCrunch sees the entire test suite as one test. Therefore, it is not able to:
But if your tests are fast, it will do its job for a normal red/green/refactor cycle.
The integration is based on the fact that MbUnit supports "Dynamic Test
Factories", a class that can generate unit tests at run time, as instances of a
TestCase
class. And NCrunch has support for MbUnit (make sure that it is
enabled)
FSpec provides a wrapper that can inspect an FSpec test suite and exposes it as a dynamic test factory.
But in order to be able to display the test suite in a hierarchical form, and execute a single test case, this structure has to be known at compile time - and for dynamic test factories, this is not the case; thus the limitations.
In your spec assembly, add the FSpec.MbUnitWrapper NuGet package. Then add the following piece of code:
[<MbUnit.Framework.TestFixtureAttribute>]
type Wrapper() =
inherit FSpec.MbUnitWrapper.MbUnitWrapperBase()
And that's it. If you are running the latest NCrunch, and have MbUnit enabled in NCrunch, you should start seeing red/green dots for your code.
Previous: Liberate yourself from VS project filesNext: FSpec goes 0.1 (with Foq support)