What is .phpunit.result.cache
When I run tests with PhpUnit on a new package I'm creating for Laravel, it generates the file .phpunit.result.cache
.
What to do with that? Do I add it to my .gitignore
file or not?
I'm using PHPUnit 8.0.4
Solution 1:
This file helps PHPUnit remember which tests previously failed, which can speed up your testing flow if you only re-run failed tests during development. This is useful for test-driven workflows in which you have configured tests to run automatically, such as on file save, and the same collection of tests is being run repeatedly.
It is also a good idea to add the cache file .phpunit.result.cache to your .gitignore so that it does not end up being committed to your repository.
https://laravel-news.com/tips-to-speed-up-phpunit-tests
If you would prefer not to generate the file then you can run phpunit with the --do-not-cache-result
option, as pointed out by @Slack Undertow in the comments. This might be desired when running tests as part of a build pipeline, for example. Or, as @codekandis pointed out, the same option is available as the cacheResult
attribute in phpunit.xml
.
Solution 2:
You can also change this file location by editing phpunit.xml
:
<phpunit
...
cacheResultFile="../.temp/fs_cache/.phpunit.result.cache"
>
Or completely disable it by
<phpunit
...
cacheResult ="false"
>