WordPress Version Dependent Codeception Tests

At iThemes we officially support the latest and previous WordPress version for our plugins. This means we end up running our automated test suite across three versions, for instance right now we’re testing against WordPress 5.4, 5.5 and 5.6-beta.

Sometimes when WordPress makes a change, we need to write tests to ensure compatibility. But it only makes sense to run these tests when we’re testing on that new WordPress version. If you are running unit tests this can be fairly straightforward.


Running Codeception tests on WordPress Trunk

At iThemes we use Codeception / WP-Browser to run our automated tests. I’ve described our setup in more detail in an earlier blog post, but the important bit to know for this post is that we use the Official WordPress Docker image as the base of our tests. The WordPress docker image only creates tags […]

Testing WordPress Plugins with Codeception on Bitbucket Pipelines using Docker Compose

This year I’ve started to use Codeception as an alternative to vanilla PHPUnit for testing WordPress plugins. I’m using the fantastic WP-Browser library written by Luca Tumedei. It makes writing WordPress acceptance tests sane by providing a suite of Codeception Modules to load WordPress and simulate WordPress APIs. At iThemes we host all of our […]

JSON Schema and the WP REST API

JSON Schema is a draft IETF specification that provides a vocabulary that allows you to annotate and validate JSON documents – json-schema.org. The WordPress REST API utilizes this system for describing the request and response formats for each endpoint. The schema for any endpoint can be seen by making an OPTIONS request to the endpoint.