-
Notifications
You must be signed in to change notification settings - Fork 323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unit of isolation = process and unit of scheduling = test class or custom container? #3424
Comments
Try adding this to the .runsettings file
|
@elgatov Wouldn't that change the |
@rkieslinger If I get you right you want to discover your tests, and then split them to groups per assembly, and then further split them to several groups from each assembly based on some rule. And then each group should run in a separate process. So e.g.: dll1- 1000 tests, dll2 - 10 tests, dll3 - 3000 tests Would become: dll1- 1000 tests, And would run as: testhost.exe - dll1- 1000 tests, This is not currently (easily) possible, for few reasons:
|
@rkieslinger moved it under test platform, because that is where it would have to be implemented. |
This is a new feature and won't be implemented, we are focusing on adding new features to Testing.Platform instead. https://aka.ms/testingplatform |
Currently we are executing our unit and integration tests in parallel using the following settings in the
.runsettings
file: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!
The text was updated successfully, but these errors were encountered: