Allow enabling process isolation on suite/test base class #5838
Labels
feature/configuration/xml
feature/process-isolation
Issues related to running tests in separate PHP processes
type/enhancement
A new idea that should be implemented
Process isolation can only be set via attributes in test classes (either overall on a class or on a single method) or on execution level (with attribute in XML or as a command line argument).
It would be good to enable process isolation on a middle ground, for instance for an entire suite or at a test base class level.
Drupal completed support of PHPUnit 10 in https://www.drupal.org/project/drupal/issues/3417066, and we needed there to find a workaround for this - there are 5 test suites in configuration, 3 of which have tests that need to run in process isolation, the others don't.
Since for each test suite there's a base test class extending from TestCase, we resolved by extending the constructor and setting process isolation there:
https://git.drupalcode.org/project/drupal/-/blame/11.x/core/tests/Drupal/KernelTests/KernelTestBase.php?ref_type=heads#L107-L113
Prior to PHPUnit 10, this was possible by overriding TestCase properties, but this is no longer possible. The workaround works, but extends a constructor marked
@internal
and we are exposed to potential changes.The text was updated successfully, but these errors were encountered: