Skip to:
Content

bbPress.org

Opened 5 days ago

Last modified 4 days ago

#3610 new defect (bug)

Upgrading composer, npm and adding wp-env for PHPUnit

Reported by: sirlouen's profile SirLouen Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version: trunk
Component: Tools - Build Keywords: has-patch has-unit-tests
Cc:

Description

After checking buddypress docs, I noticed that they were using wp-env, which is massive for WP development with Docker, plus the complimentary scripts for PHPUnit testing with WP-Env running in the background.

First, trying to make my way through it, I noticed that both composer.json and package.json had dependencies issues.

For package.json, stylelint could not be in the latest version, only 14 or lower worked. And some other dependencies broke. So I've fixed all versions to make it happen
Same for composer.json, I simply upgraded to the latest phpcodesniffer-composer-installer compatible with the latest PHP 8+, and added PHPUnit 9 because I noticed that 10 and 11 were breaking tests. I will be opening an issue to sort this specifically in the future.

After this, for now, I've introduced two basic scripts similarly to the Buddypress implementation

One for WP-ENV

npm run wp-env start

Which runs the WP virtual environment via docker, and through .wp-env.json, we can define to bring the root, bbPress folder to it, install the plugin and ready to rumble.

And then another script for basic PHPUnit running.

npm run test-php

Probably more scripts should be added in the future, but this is just a proof of concept to have this up and running.

Furthermore, I've added the necessary tweaks in the repo to start passing test with this script command, removing all deprecation warnings for PHP 8.2.

For now, I think this is ideal to have a good and more modern dev environment.

Attachments (1)

wp-env-phpunit-upgrade.patch (8.7 KB) - added by SirLouen 5 days ago.
This patch upgrades build tools for WP-ENV and PHPUnit working over it

Download all attachments as: .zip

Change History (3)

@SirLouen
5 days ago

This patch upgrades build tools for WP-ENV and PHPUnit working over it

This ticket was mentioned in PR #18 on bbpress/bbPress by @SirLouen.


5 days ago
#1

  • Keywords has-unit-tests added

As described here:

https://bbpress.trac.wordpress.org/ticket/3610

After checking buddypress docs, I noticed that they were using wp-env, which is massive for WP development with Docker, plus the complimentary scripts for PHPUnit testing with WP-Env running in the background.

First, trying to make my way through it, I noticed that both composer.json and package.json had dependencies issues.

For package.json, stylelint could not be in the latest version, only 14 or lower worked. And some other dependencies broke. So I've fixed all versions to make it happen
Same for composer.json, I simply upgraded to the latest phpcodesniffer-composer-installer compatible with the latest PHP 8+, and added PHPUnit 9 because I noticed that 10 and 11 were breaking tests. I will be opening an issue to sort this specifically in the future.

After this, for now, I've introduced two basic scripts similarly to the Buddypress implementation

One for WP-ENV

npm run wp-env start

Which runs the WP virtual environment via docker, and through .wp-env.json, we can define to bring the root, bbPress folder to it, install the plugin and ready to rumble.

And then another script for basic PHPUnit running.

npm run test-php

Probably more scripts should be added in the future, but this is just a proof of concept to have this up and running.

Furthermore, I've added the necessary tweaks in the repo to start passing test with this script command, removing all deprecation warnings for PHP 8.2.

For now, I think this is ideal to have a good and more modern dev environment.

This ticket was mentioned in PR #21 on bbpress/bbPress by @SirLouen.


4 days ago
#2

Note: See TracTickets for help on using tickets.