TABLE OF CONTENTS:
With WordPress Codeception, you can run unit tests, called Cest or Test tests, that use the format:
[test-name]Cest.php
[class-name]Test.php
The first step, as in any TDD cycle, is to create a failing test. This test is going to fail, because the feature doesn’t exist yet. Once the feature exists and works properly, the test will pass, and we’ll begin a new cycle.
When we run Codeception with the command:
bin/codecept run tests/unit/ShortcodeHelloWorldTest.php -vvv --html
The test fails.
We now add code to make the test pass. You can add this anywhere, for instance in a plugin.
bin/codecept run tests/unit/ShortcodeHelloWorldTest.php -vvv --html
The test passes!
Now it’s time to re-factor. That is, we modify the code to make it easier to read and understand, but we don’t add or change any functionality.
I’ve added namespaces and re-done the plugin in OOP style. The entire plugin code can be found here on Github.