This repository is no longer maintained and has been archived. Feel free to browse the code, but please migrate to other solutions.
Wordpress plugin development is easy, but when it come to testing things can get complicated pretty fast.
Wordpress CLI can generate all that is required to write integration tests for your plugin, with live Wordpress environment.
But to run those tests you need to have PHP and MySql on your machine, which is not always the case.
This sound like really good used case for docker and docker-compose - we can create the relevant images and run them easily on any machine that has Docker.
This also mean that the same version of PHP and MySql that run on your machine, also run on the CI, and you can easily target various PHP/Wordpress versions.
To learn more about this template in this blog post
- Support hot-reloading
docker-compose up --build -ddocker-compose run wordpress vendor/bin/phpunit
And watch the tests running.
To clean up, run: docker-compose down.
Changes in the plugin code or the tests will be hot-reloaded, no need to run build command again.
- Fork/Clone this repo
- Replace the plugin code under
srcfolder. - Open
tests\bootstrap.phpand change the plugin name (look for theTODO). - Write some tests under the
testsfolder. - Add relevant libraries for your tests to the
composer.jsonfile. - Don't forget to follow this repo, so you will receive updates.