Replace a lot of near duplicate unit test functions with data providers. #149
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.
Makes maintenance of the unit tests easier if something would change and makes adding new unit tests a breeze.
This change also makes the unit tests more complete as often only the 'error' case was tested and not the 'noViolation' case. This has now been rectified.
The number of tests being run will now also be reported more accurately.
For this PR I have focused on the test files where the most advantage could be gained from using data providers.
Additional changes:
NewAnonymousClasses
test file (contained a typo).ereg
extension and showpcre
as an alternative. (DeprecatedExtensions
)ereg
andmysql
functions. (DeprecatedFunctions
).mysqli
functions. (DeprecatedFunctions
).DeprecatedFunctions
).setUp()
functions which did nothing but fall through to the parent.noViolation
unit test cases for theNonStaticMagicMethods
sniff existed, but most were not actually being tested. That's now corrected.This is a first iteration for refactoring of the unit tests.
A further abstraction of a lot of these unit tests is definitely possible in the future.