Codeception / Codeception/AspectMock
Cant mock laravel Model
- 主要语言
- 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