AspectMock
AspectMock copied to clipboard
basic mock is not working
under objects/system no name space
`class UserCheck
{
public $name;
public function setName($name){
return $this->name = $name;
}
public function save(){
return 10;
}
public function getName(){
return $this->name;
}
}`
under tests\codeception\unit\objects\system
` class EmployeeTest {
function testUserCreate()
{
$user = test::double('UserCheck', ['save' => null])->make();
$this->assertEquals('null', $user->save());
}
}`
composer.json
` "codeception/aspect-mock": "2.2.0",
"phpunit/phpunit": "5.7.27",
`
tests/codeception/_bootstrap.php
`require __DIR__.'/../../../../tools/tests/vendor/autoload.php';
$kernel = \AspectMock\Kernel::getInstance();
// https://github.com/Codeception/AspectMock#customization
$kernel->init([
'debug' => true,
'cacheDir' => __DIR__.'/_cache', // Cache is disabled because it wasn't being flushed reliably when the code was changed.
'appDir' => __DIR__.'/../../../../tools/tests/vendor',
'includePaths' => [
__DIR__.'/../../objects', // Mock everything in the objects dir
]
]);`
error
` codeception/unit/objects/system/EmployeeTest.php:testUserCreate
Failed asserting that 10 matches expected 'null'.
`
It looks like I have the same problem here https://github.com/vdebes/CodeceptionTesting/blob/master/tests/unit/DummyTest.php (check methods with @broken annotation)
I'm having the same issue. Locking goaop/framework
to =2.2.0
fixed the issue for us for the meantime.