Skip to content

This is the documentation for version 3 of the project. The current version is version 4 and the documentation can be found here.

Custom commands provided by wp-browser

The project comes with its own set of custom Codeception commands.

The commands provide functionalities to quickly scaffold different types of tests. Any other codecept command remains intact and available.

Adding the commands to an existing project

The commands are added to the main Codeception configuration file, codeception.yml, when scaffolding a project via the codecept init wp-browser command.

They can be added to any existing project adding, or editing, the commands section of the configuration file:

extensions:
    commands:
        - "Codeception\\Command\\GenerateWPUnit"
        - "Codeception\\Command\\GenerateWPRestApi"
        - "Codeception\\Command\\GenerateWPRestController"
        - "Codeception\\Command\\GenerateWPRestPostTypeController"
        - "Codeception\\Command\\GenerateWPAjax"
        - "Codeception\\Command\\GenerateWPCanonical"
        - "Codeception\\Command\\GenerateWPXMLRPC"

Generation commands

The library provides commands to quickly scaffold integration test cases for specific types of WordPress components, see levels of testing for more information.

The tests are almost identical to the ones you could write in a PHPUnit based Core suite with the exception of extending the Codeception\TestCase\WPTestCase test case.

generate:wpunit

Generates a test case extending the \Codeception\TestCase\WPTestCase class using the

  codecept generate:wpunit suite SomeClass

The command will generate a skeleton test case like

<?php

class SomeClassTest extends \Codeception\TestCase\WPTestCase
{
    public function setUp()
    {
      parent::setUp();
    }

    public function tearDown()
    {
      parent::tearDown();
    }

    // tests
    public function testMe()
    {
    }

}

generate:wprest

Generates a test case extending the \Codeception\TestCase\WPRestApiTestCase class using the

  codecept generate:wprest suite SomeClass

The command will generate a skeleton test case like

<?php

class SomeClassTest extends \Codeception\TestCase\WPRestApiTestCase
{
    public function setUp()
    {
      parent::setUp();
    }

    public function tearDown()
    {
      parent::tearDown();
    }

    // tests
    public function testMe()
    {
    }

}

generate:wprestcontroller

Generates a test case extending the \Codeception\TestCase\WPRestControllerTestCase class using the

  codecept generate:wprest suite SomeClass

The command will generate a skeleton test case like

<?php

class SomeClassTest extends \Codeception\TestCase\WPRestControllerTestCase
{
    public function setUp()
    {
      parent::setUp();
    }

    public function tearDown()
    {
      parent::tearDown();
    }

    // tests
    public function testMe()
    {
    }

}

generate:wprestposttypecontroller

Generates a test case extending the \Codeception\TestCase\WPRestPostTypeControllerTestCase class using the

  codecept generate:wprest suite SomeClass

The command will generate a skeleton test case like

<?php

class SomeClassTest extends \Codeception\TestCase\WPRestPostTypeControllerTestCase
{
    public function setUp()
    {
      parent::setUp();
    }

    public function tearDown()
    {
      parent::tearDown();
    }

    // tests
    public function testMe()
    {
    }

}

generate:wpajax

Generates a test case extending the \Codeception\TestCase\WPAjaxTestCase class using the

  codecept generate:wpajax suite SomeClass

The command will generate a skeleton test case like

<?php

class SomeClassTest extends \Codeception\TestCase\WPAjaxTestCase
{
    public function setUp()
    {
      parent::setUp();
    }

    public function tearDown()
    {
      parent::tearDown();
    }

    // tests
    public function testMe()
    {
    }

}

generate:wpxmlrpc

Generates a test case extending the \Codeception\TestCase\WPXMLRPCTestCase class using the

  codecept generate:wpxmlrpc suite SomeClass

The command will generate a skeleton test case like

<?php

class SomeClassTest extends \Codeception\TestCase\WPXMLRPCTestCase
{
    public function setUp()
    {
      parent::setUp();
    }

    public function tearDown()
    {
      parent::tearDown();
    }

    // tests
    public function testMe()
    {
    }

}

generate:wpcanonical

Generates a test case extending the \Codeception\TestCase\WPCanonicalTestCase class using the

  codecept generate:wpcanonical suite SomeClass

The command will generate a skeleton test case like

<?php

class SomeClassTest extends \Codeception\TestCase\WPCanonicalTestCase
{
    public function setUp()
    {
      parent::setUp();
    }

    public function tearDown()
    {
      parent::tearDown();
    }

    // tests
    public function testMe()
    {
    }

}