Remco wrote:Different test projects also need to execute inside different test processes as NCrunch cannot re-use a process launched for a different test assembly.
This was quite interesting, I also suffer from the fact that task runner start and stop all the time throughout the testing phase. In many tests we have "initialization routines" which initializes static member(s) and takes over 10s to complete. Since task runners are stopping quite a lot throughout the test run we waste a lot of time on these initialization routines.
We have currently ~15 test projects and according to your statement above I guess that is one of the reason task runners are starting/stopping so often. So:
1) Does NCRunch have any logic for completing tests within a project within same task runner, before starting processing another project? If not, maybe having this will improve overall execution time for cases like this?
2) Can I somehow optimize this, e.g. having a large number of "pooled test runner processes" (e.g. a bit higher than no of test projects) but not as many "max number of processing threads" so NCrunch always should be able to find a suitable test runner process to reuse?
Thanks.