Codeception / Codeception/AspectMock

basic mock is not working

未关闭
#164 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
PHP
星标
784
派生
132
PR 合并指标
30 天内没有已合并 PR

描述

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'.
`
```

贡献指南

这个仓库没有索引到贡献指南

调研方向

Start with tests/codeception/unit/objects/system/EmployeeTest.php:testUserCreate and reproduce the failure using the versions in composer.json. Read tests/codeception/_bootstrap.php and the UserCheck example under objects/system to determine why the basic mock does not override save(); done means the test passes with save() returning null.

由索引模型根据 Issue 内容生成。

评估

技术栈
php
领域
testing
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。