Hi Cameron,
Thanks for posting!
30 seconds normally shouldn't be a problem. NCrunch can and does work with tests that run for much longer times than this. However, it may be a problem if your solution doesn't support
parallel execution.
There's a
short guide in the NCrunch documentation targeted towards dealing with tests like these. In summary, the best way to handle them is usually to make sure you have parallel execution enabled and enough resources available for at least 2 processing threads. In this way, NCrunch will automatically arrange the longer running tests in such a way that it can continue to run them with minimal interference to the rest of the test suite. This is done through the use of
fast lane threads that can focus on the faster tests while other resources are used for the slower ones.
Where parallel execution on your local machine isn't an option (perhaps the tests aren't designed with this in mind) or you don't have the resources available on your dev machine, it's also worth having a look at
distributed processing.