Description
(apologies if the title is too convoluted!)
So, one of the changes introduced between 1.1.10 & 1.1.11 is that the Module class is made final
. See src/Codeception/Module/Yii2.php
, line 168/169.
Craft CMS is a CMS that is built on Yii2. For its testing API it uses Codeception and this Codeception yii2 module. Amongst others it extends this module: https://github.com/craftcms/cms/blob/5.x/src/test/Craft.php#L65
And of course extending a final class is not possible, so our test suites now throw an error:
Fatal error: Class craft\test\Craft cannot extend final class Codeception\Module\Yii2 in /app/vendor/craftcms/cms/src/test/Craft.php on line 65
The documentation of Codeception 5 mentions the following when it comes to extending a Module: https://codeception.com/docs/ModulesAndHelpers#Extending-a-Module. So I think this means that the Codeception\Module\Yii2
class should not be final.
I'm submitting this more as a question, because I might be missing the context for which the change to final
was made.