Skip to content

PHPUnit: use annotations for fixtures / cross-version compat up to PHPUnit 9.x #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

jrfnl
Copy link
Collaborator

@jrfnl jrfnl commented May 8, 2021

As of PHPUnit 8.x, the method signature for the setUpBeforeClass(), setUp(), tearDown() and tearDownAfterClass() fixture methods has changed to require the void return type.

As the void return type isn't available until PHP 7.1, this cannot be implemented.

Annotations to the rescue.
By renaming the setUp() method to another, descriptive name and using the @before annotation, the tests can be made cross-version compatible up to PHPUnit 9.x.

With this change, the unit tests can now be run on PHPUnit 4 - 9.

As PHPUnit has a caching feature build in as of PHPUnit 8, we need to add the .phpunit.result.cache file to .gitignore.

There is also one assertion which has changed, so using an if/else to work around that.

…PUnit 9.x

As of PHPUnit 8.x, the method signature for the `setUpBeforeClass()`, `setUp()`, `tearDown()` and `tearDownAfterClass()` fixture methods has changed to require the `void` return type.

As the `void` return type isn't available until PHP 7.1, this cannot be implemented.

Annotations to the rescue.
By renaming the `setUp()` method to another, descriptive name and using the `@before` annotation, the tests can be made cross-version compatible up to PHPUnit 9.x.

With this change, the unit tests can now be run on PHPUnit 4 - 9.

As PHPUnit has a caching feature build in as of PHPUnit 8, we need to add the `.phpunit.result.cache` file to `.gitignore`.

There is also one assertion which has changed, so using an if/else to work around that.
@jrfnl jrfnl mentioned this pull request May 8, 2021
@grogy
Copy link
Member

grogy commented May 9, 2021

Thank you

@grogy grogy merged commit 9771150 into php-parallel-lint:master May 9, 2021
@jrfnl jrfnl deleted the feature/tests-cross-version-compat branch May 9, 2021 12:24
@jrfnl jrfnl modified the milestones: 1.x Next Release, 1.0.0 Dec 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants