Hi, thanks for posting!
The ability to run tests on save is sitting very high on the request list. Unfortunately it's quite challenging to make it work intuitively with the current engine of NCrunch, as there are a few factors that need to be taken into account (such as code versioning etc). I hope to introduce a solution to this in future.
The 'snapshot' approach to running tests is an interesting one (and quite exciting actually). So far I haven't steered NCrunch in this direction largely out of indecision for how to best choose when snapshots should be run. There may be more opportunities to look at this model later as the core engine matures. Something I have also been looking into is the ability to regularly 'interrupt' out-of-date builds that are in progress .. although this will require considerable testing to ensure stability.
If the option is available to you, I have to recommend breaking up your unit test project into smaller pieces. Regardless of the model used by engine to build the project, a 30 second build time is a heavy drag on any development and a real killer of your testing experience. Because of their horizontal structure, test projects are often quite easy to break up. NCrunch will always perform better with a large number of small projects as opposed to a small number of large projects.
Cheers,
Remco