AspectMock icon indicating copy to clipboard operation
AspectMock copied to clipboard

Non-existent functions can't be mocked since 2.1.0

Open wxa opened this issue 5 years ago • 0 comments

The problem was introduced here: https://github.com/Codeception/AspectMock/pull/133/files#diff-50b2697c4aa86740dcae323b3d7ebe44R44

The placeOptionalAndReferenceFunction method uses ReflectionFunction which throws an exception if a non-existent function name is passed:

[ReflectionException] Function somefunc() does not exist

Before that change it worked fine when trying to mock a non-existent function. This is a valid use case for a plugin architecture where you may not have desired functions in a test environment.

Can it be like this, for example:

if (function_exists($function)) {
    $this->placeOptionalAndReferenceFunction($namespace, $function);
}

wxa avatar Oct 11 '18 15:10 wxa