Codeception / Codeception/AspectMock

test::double doesn't work

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

描述

I created this simple test:
`
require_once __DIR__.'/vendor/autoload.php';

$kernel = \AspectMock\Kernel::getInstance();
$kernel->init([
'debug' => true,
'appDir'=>__DIR__."/vendor/codeception/aspect-mock/src/",
'cacheDir' => "/tmp/amock"
]);

class User {
public function getName() {
return "test";
}
};

$user = AspectMock\Test::double(User::class, ['getName' => 'davert']);
$u = new User;
print $u->getName()."\n";
`
It always print "test" instead "davert".
Here is my composer.json file:
"require": {
"php": ">=7.0.0",
"goaop/framework": "^2.2.0",
"symfony/finder": "~2.4|~3.0|~4.0"
},
"require-dev": {
"codeception/base": "^2.4",
"codeception/verify": "~0.2",
"codeception/specify": "~0.3",
"codeception/aspect-mock": "*",
"phpunit/phpunit": "^6.5"
}

PHP 7.0.33-0ubuntu0.16.04.1 (cli) ( NTS )

贡献指南

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

调研方向

使用所示的 PHP 代码片段、composer.json 依赖项、Kernel::init 和 AspectMock\Test::double(User::class, ...) 重现该报告。首先跟踪已初始化的 kernel 如何处理 User 类,以及 Test::double 如何应用方法行为。示例产生 "davert" 而不是 "test" 即表示完成。

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

评估

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

把新 issue 发到你的邮箱

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