Установка PHPUnit и смысл тестирования

PHPUnit – framework для модульного тестирования приложений реализованных на PHP.
Модульное тестирование – это хороший способ проверки качества проекта, который обеспечит его стабильность в работе, выявить ошибки в работе функций.
Цель тестов заключается в том, чтобы протестировать каждый компонент PHP (класс) отдельно – это обеспечить повысить эффективность работы проектируемой системы и выявить недостатки. Есть разработчики, которые начинают реализацию приложения именно с подготовки классов ориентированных на тестирование приложения.

Установка PHPUnit выполняется после обязательной установки репозитория PEAR. Если PEAR успешно установлен, то необходимо в консоли (Пуск — cmd) выполнить команду pear install PHPUnit. При выполнении данной команды, Интернет должен быть включен, так как выполняется закачка фреймворка  на локальный компьютер.

C:\OpenServer\modules\php\PHP-5.3.27>pear install PHPUnit
WARNING: "pear/PHPUnit" is deprecated in favor of "phpunit/PHPUnit"
Did not download dependencies: pear/PHP_Compat, use --alldeps or --onlyreqdeps to download automatically
pear/PHPUnit can optionally use package "pear/PHP_Compat"
downloading PHPUnit-1.3.2.tgz ...
Starting to download PHPUnit-1.3.2.tgz (20,913 bytes)
........done: 20,913 bytes
install ok: channel://pear.php.net/PHPUnit-1.3.2

Чтобы узнать был ли установлен на локальном компьютере framework PHPUnit, необходимо выполнить команду pear list.

C:\OpenServer\modules\php\PHP-5.3.27> pear list
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE          VERSION STATE
Archive_Tar      1.3.11  stable
Console_Getopt   1.3.1   stable
PEAR             1.9.4   stable
PHPUnit          1.3.2   stable
Structures_Graph 1.0.4   stable
XML_Util         1.2.1   stable

Далее можно приступать к использованию методов framework PHPUnit. В следующем посте речь пойдет как использовать данный функциональный пакет  в процессе работе.

Еще один способ использования возможностей PHPUnit framework

1. Скачать с официального сайта файл phpunit.phar

2. Закинуть файл в папку с PHP.exe

3. Для тестирования необходимо выполнить команду: php phpunit.phar путь_к_фалу.php

E:\OpenServer\modules\php\PHP-5.3.27>php phpunit.phar E:\OpenServer\domains\test
unit\demo.php

PHPUnit 4.1.1 by Sebastian Bergmann.

Time: 46 ms, Memory: 4.00Mb
OK (1 test, 5 assertions)

Далее можно приступать к тестированию. На офф.сайте  приведен пример кода класса и теста описанного для него.

Пример класса (Money), который необходимо проверить на адекватность.

<?php class Money { private $amount; public function __construct($amount) { $this->amount = $amount;
    }

    public function getAmount()
    {
        return $this->amount;
    }

    public function negate()
    {
        return new Money(-1 * $this->amount);
    }
    // ...
}

Пример класса, который ориентирован на тестирование вышеописанного класса Money.

<?php class MoneyTest extends PHPUnit_Framework_TestCase { // ... public function testCanBeNegated() { // Arrange $a = new Money(1); // Act $b = $a->negate();

        // Assert
        $this->assertEquals(-1, $b->getAmount());
    }
    // ...
}