Codeception / Codeception/AspectMock

Cache not cleared when includePaths updated

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

描述

## Bug

When you add a file to be mocked to the `includePaths` config the cache isn't updated and you can't mock that class until you manually delete the cache.
## Reproduction
- set up your includePaths to not include file `A.php`
- run a test using AspectMock that utilizes `A.php` so it's pulled into the cache
- now add `A.php` to your `includePaths` config
- modify your test so you mock something inside `A.php`
- re-run your test. `A.php` won't be mocked because the cache doesn't get refreshed
## Resolution

A copy of `includePaths` should be included in the cache. When checking if a file should be read from cache or re-processed, we should also check if that file has been added to `includePaths` since the cache was last written

贡献指南

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

调研方向

首先追踪 AspectMock 的缓存处理,以及在检查或重新处理缓存文件时使用的 includePaths 配置。验证复现步骤,然后确认更改 includePaths 会使受影响的文件再次被处理并进行 mock,而无需手动删除缓存。

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

评估

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

把新 issue 发到你的邮箱

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