Using PHPUnit

From Littledamien Wiki
Revision as of 17:50, 6 September 2019 by Video8 (talk | contribs)
Jump to navigation Jump to search

Configuring unit tests in PHPStorm

Composer

Add PHPUnit to composer: [1]

"require-dev": {
    "phpunit/phpunit": "^8"
  }

Update installed composer dependencies:

php composer.phar update

Creating unit tests

Test class names start with "Test" and test function names start with "test".

Test classes extend PHPUnit\Framework\TestCase.

<?php
namespace Littled\Tests\Account;

use Littled\Account\Address;
use PHPUnit\Framework\TestCase;

class AddressTest extends TestCase
{
    public function testInitialValues()
    {
        $addr = new Address();
        self::assertInstanceOf('Littled\Request\IntegerInput', $addr->id);
        self::assertEquals(100, $addr->address2->sizeLimit);
        /* etc... */
    }
}

Running unit tests

Right click on a TestCase class or a directory containing TestCase classes and choose Run ( --R )

Generating unit test classes

PHPStorm can be configured such that when a new class is created, a corresponding class can be added to unit tests.

  • Mark the class directory as the root for the app code.
  • Mark the directory containing the unit tests as a tests directory (right click > Mark Directory As > Test Sources Root)
  • Create a new PHP class file.
  • Right click on the file and create the unit test.

Notes

See also

Footnotes

  1. Getting Started With PHPUnit 8 - PHPUnit Documentation