phpdotenv
phpdotenv copied to clipboard
Inconsistent result when calling `$this->dotenv->load()` multiple times from PHPUnit
trafficstars
https://gist.github.com/bilogic/4114836067651905888abd542becee55
I have a set of flaky tests in the gist above. What I can't understand is:
- If the tests are ran individually, they all pass
- If PHPUnit is used to run them all,
test_Can_detect_missing_mandatory_environment_keysfails and it is due to$this->dotenv->load();returning an empty array here https://gist.github.com/bilogic/4114836067651905888abd542becee55#file-envchecker-php-L61 - If I re-order
test_Can_detect_missing_mandatory_environment_keysas the first test, it passes and nowtest_Can_parse_environment_filefails due to the same issue of an empty array
Any idea what I'm missing here?
Use createMutable while I would need to dig through the code to fully comprehend the inner workings, it seems that immutability in this instance returns configuration onces but not on "future" usage of "load()".
I'm not sure whether this is by design, hypothetically, you should be able to have multiple immutable configuration at whatever point you want that shouldn't change outside of a particular bound/context.