Codeception / Codeception/AspectMock
Cache not cleared when includePaths updated
- 主要语言
- 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