Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 715
Davide Casiraghi Avatar asked Mar 10 '19 19:03

Davide Casiraghi


3 Answers

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.

like image 163
Travis Britz Avatar answered Nov 10 '22 06:11

Travis Britz


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"
>
like image 40
Yehor Avatar answered Nov 10 '22 07:11

Yehor


Official PHPUnit explanation (I currently don't find any other useful official details).

This caching is required for certain other features to work.

You can disable it with:

<phpunit 
    ...
    cacheResult="false">
like image 1
fabpico Avatar answered Nov 10 '22 05:11

fabpico