liuggio / fastest

Simple parallel testing execution... with some goodies for functional tests.
MIT License
475 stars 65 forks source link

generating the list of tests from a PHPUnit XML file ignores the <groups> tag #142

Open michelv opened 4 years ago

michelv commented 4 years ago

Hello,

It appears that the class CreateTestsQueueFromPhpUnitXML only handles the testsuite configuration.

This means that <groups> is ignored, and that for example some tests that you want to exclude by default aren't excluded.

The following pull request adds the handling of the @group annotation at the class level: https://github.com/liuggio/fastest/pull/141

How it works: just like PHPUnit's TestRunner, it adds recursive filters to the testsuite iterator, and then we disregard a testsuite's file when its count of filtered tests is zero.

The drawback is that if the annotation @group is used only on some of the tests in a testsuite, the testsuite will still be executed entirely. Changing that behaviour implies the need for more extensive changes, and I don't know if those are relevant yet.