什么是.phpunit.result.cache

Dav*_*ghi 14 phpunit unit-testing laravel laravel-5

当我在为Laravel创建的新软件包上使用PhpUnit运行测试时,它将生成file .phpunit.result.cache

怎么办呢?是否将其添加到我的.gitignore文件中?

我正在使用PHPUnit 8.0.4

Tra*_*itz 24

该文件可帮助PHPUnit记住先前失败的测试,如果您仅在开发过程中重新运行失败的测试,则可以加快测试流程。这对于测试驱动的工作流非常有用,在这些工作流中,您已经将测试配置为自动运行(例如在文件保存时),并且相同的测试集合正在重复运行。

将缓存文件.phpunit.result.cache添加到.gitignore中也是一个好主意,这样它就不会最终提交到您的存储库中。

https://laravel-news.com/tips-to-speed-up-phpunit-tests

如果您不想生成该文件,则可以使用该--do-not-cache-result选项运行phpunit ,如@Slack Undertow在评论中指出的那样。例如,在将测试作为构建管道的一部分运行时,可能需要这样做。

  • 如果默认使用“phpunit.xml”配置测试用例,则可以设置“cacheResult”属性来打开或关闭缓存。https://phpunit.readthedocs.io/en/8.3/configuration.html#appendixes-configuration-phpunit-cacheresult (5认同)
  • 如果您不想生成文件,则可以使用phpunit的`--do-not-cache-result`选项运行。参见`phpunit --help` (4认同)
  • @SlackUndertow https://github.com/sebastianbergmann/phpunit/issues/3587#issuecomment-480181912“[...]基本上,缓存是为了一遍又一遍地测试_相同_集合时加速[...]”所以应根据测试集合的大小和测试该集合的假设迭代来决定是否关闭它。但是:“[...] 例如,当在 PHPStorm 中使用播放/暂停按钮时,缓存此结果没有任何意义。除了 IDE 具有自己的“再次/首先运行失败的测试”选项之外。[...] " 缓存主要在非 IDE 环境中有用。 (2认同)

Eko*_*val 7

您还可以通过编辑来更改此文件位置phpunit.xml

<phpunit 
    ...
    cacheResultFile="../.temp/fs_cache/.phpunit.result.cache"
>
Run Code Online (Sandbox Code Playgroud)

或者完全禁用它

<phpunit 
    ...
    cacheResult ="false"
>
Run Code Online (Sandbox Code Playgroud)