Codeception / Codeception/AspectMock

Cant mock laravel Model

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

描述

Hi, i use
"codeception/aspect-mock": "^3.0"
"laravel/framework": "5.6.*"
php 7.1.*
Try to do in test
MyModel.php
```
class MyModel extends Model
{
.....
public function someTest()
{
return 'old return';
}
.....
}
```
```
use AspectMock\Test as test;
......
test::double(MyModel::class, [
'someTest' => 'new return',
]);
$m = new MyModel();
var_dump($m->someTest());
......
```
i see 'old return', not what i exept;

config file
```
require __DIR__ . '/autoload.php';
$kernel = \AspectMock\Kernel::getInstance();
$kernel->init([
'debug' => true,
'cacheDir' => app_path() . '/../storage/framework/cache/data',
'includePaths' => [
app_path(),
app_path() . '/../vendor/laravel',
],
'excludePaths' => [
app_path() . '/../test',
]
]);
```

贡献指南

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

调研方向

从 MyModel.php 示例、test::double(MyModel::class, ...) 调用以及报告中展示的 AspectMock Kernel::init 配置开始。复现 Laravel 5.6/PHP 7.1 案例,并追踪为什么实例化的模型仍然返回“old return”;在文档所述设置下,报告中的调用返回“new return”即表示完成。

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

评估

技术栈
laravel, php
领域
backend, testing
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

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