04-05-2021, 04:36 AM
Context
There are 2 helpers to load a service:
Services::injectMock('example', $example);
This is not clear in the documentation, I assumed mocking would work for all services:
Testing / Getting Started / Mocking Services
Feature Request:
The framework looks for all service mocks instigated, either for:
in app/Config/Services.php
There are 2 helpers to load a service:
- $example = service('example');
- $example = single_service('example');
Services::injectMock('example', $example);
This is not clear in the documentation, I assumed mocking would work for all services:
Testing / Getting Started / Mocking Services
Feature Request:
The framework looks for all service mocks instigated, either for:
- a shared instance (e.g. service('example'))
or
- a non-shared instance (e.g. single_service('example'))
in app/Config/Services.php
PHP Code:
public static function example(bool $getShared = true)
{
if ($getShared)
{
return static::getSharedInstance('example');
}
elseif (isset(static::$mocks['example']))
{
return static::$mocks['example'];
}
return new Example();
}