This extension provides the following features:
- Interprets
Foo|\Mockery\MockInterface
in phpDoc so that it results in an intersection type instead of a union type. Mockery::mock()
andMockery::spy()
return an intersection type (see the detailed explanation of intersection types) so that the returned object can be used as both the mock object and the mocked class object.shouldReceive()
,allows()
andexpects()
methods can be called on the mock object and they work as expected.
To use this extension, require it in Composer:
composer require --dev phpstan/phpstan-mockery
If you also install phpstan/extension-installer then you're all set!
Manual installation
If you don't want to use phpstan/extension-installer
, include extension.neon in your project's PHPStan config:
includes:
- vendor/phpstan/phpstan-mockery/extension.neon