Allow test runner extensions to disable default progress and result printing #5168
Labels
feature/events
Issues related to PHPUnit's event system
feature/test-runner
CLI test runner
type/enhancement
A new idea that should be implemented
Milestone
Starting with PHPUnit 10 and its event system, the test runner can be extended.
To extend PHPUnit's test runner, you implement the
PHPUnit\Runner\Extension\Extension
interface. This interface requires abootstrap()
method to be implemented. This method is called by PHPUnit's test runner to bootstrap a configured extension. An extension is configured in PHPUnit's XML configuration file.For test runner extensions that intend to change how the test runner presents progress information or test result information, the default progress printer and the default result printer currently have to be disabled using the
--no-output
,--no-progress
, or--no-results
CLI options.This ticket proposes the addition of another interface,
PHPUnit\Runner\Extension\OutputReplacing
:When implemented by a test runner extension's bootstrap class in addition to
PHPUnit\Runner\Extension\Extension
, the PHPUnit test runner will query the extension using these methods on whether or not the extension intends to replace the test runner's default progress printer, the test runner's default result printer, or both.When multiple test runner extensions are configured (and therefore bootstrapped), only one may replace the test runner's default progress printer or the test runner's default result printer, respectively. The test runner will error out when more than one test runner extension intends to replace a default printer.
The text was updated successfully, but these errors were encountered: