Incorrect cache files
wppunk opened this issue · 2 comments
wppunk commented
Invalid cache files creating when I run tests. In directory file looks like:
class Settings { if (($__am_res = __amock_before($this, __CLASS__, __FUNCTION__, array(), false)) !== __AM_CONTINUE__) return $__am_res;
...
After the test run I get the error message:
[ParseError] syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) or const (T_CONST)
Environment
- Codeception 4.1
- PHP7.2
- Aspect Mock 3.1
bootstrap.php
use AspectMock\Kernel;
define( 'PLUGIN_NAME_PATH', realpath( __DIR__ . '/../../../' ) . '/' );
$kernel = Kernel::getInstance();
$kernel->init(
[
'cacheDir' => PLUGIN_NAME_PATH . '.codeception/_cache/',
'debug' => true,
'includePaths' => [ PLUGIN_NAME_PATH . 'src/' ],
]
);
TestCase.php
use AspectMock\Test;
use Codeception\Test\Unit;
use AspectMock\Core\Registry;
abstract class TestCase extends Unit {
protected function _after(): void {
if ( Registry::$mocker ) {
Test::clean();
}
parent::_after();
}
}
dudapiotr commented
Downgrade to older version of goaop/framework helped me : "goaop/framework": "2.3.2".
There must be some bug.
wppunk commented
Downgrade to "goaop/framework": "2.1"
helped me