Description
Currently we are executing our unit and integration tests in parallel using the following settings in the .runsettings
file:
<RunSettings>
<RunConfiguration>
<MaxCpuCount>0</MaxCpuCount>
</RunConfiguration>
</RunSettings>
This enables parallelization, but just per assembly. In our case, this is not really ideal, because in some cases we have a few fast assemblies, and just 1 or 2 very large and long running assemblies. So parallelization per assembly does not help much there.
Here's a screenshot, how that looks like (every line is an assembly and every bar with a different color is a test):
I read here that it's possible to change the "unit of scheduling" from assembly to "test class" or even "test method". This seems exactly what we need, but the document states, that this will change the "unit of isolation" from process to thread and I'm pretty sure, our code will not support that (Singletons, static code, ...).
So what I'm asking is, as I wrote in the title: Is it possible to still use an unit of isolation of process, but change the unit of scheduling from assembly to test class or maybe be able to pass custom containers?
I also stumbled upon this tool, which seems to do exactly what we want, but it's outdated and it would be nice to not need an additional tool for that.
Thank you in advance!