✨ New PHPCSUtils\TestUtils\ConfigDouble
class
#550
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New
PHPCSUtils\TestUtils\ConfigDouble
classThe PHP_CodeSniffer native
Config
class contains a number of static properties.As the value of these static properties will be retained between instantiations of the class, config values set in one test can influence the results for another test, which makes tests unstable.
This commit introduces a test "double" of the
Config
class which prevents this from happening.In most cases, tests should be using this class instead of the "normal" Config, with the exception of select tests for the PHPCS Config class itself.
Includes tests covering the new class.
UtilityMethodTestCase: implement use of the new
PHPCSUtils\TestUtils\ConfigDouble
classStart using the new
ConfigDouble
class in theUtilityMethodTestCase
class.Note: this includes deprecating the
UtilityMethodTestCase::setStaticConfigProperty()
method, which was introduced, but not publicized, in PHPCSUtils 1.0.9 in favour of handling the same in theConfigDouble
class.