PHP:
Написание тестов

Как это сделать:

Мы рассмотрим PHPUnit, популярную рамочную программу тестирования для PHP. Сначала установите его с помощью Composer:

composer require --dev phpunit/phpunit

Теперь давайте напишем простой тест. Представьте, что у вас есть класс Calculator с методом add.

// Calculator.php
class Calculator {
    public function add($a, $b) {
        return $a + $b;
    }
}

Вот как вы можете его протестировать:

// CalculatorTest.php
use PHPUnit\Framework\TestCase;

class CalculatorTest extends TestCase {
    public function testAddition() {
        $calculator = new Calculator();
        $this->assertEquals(4, $calculator->add(2, 2));
    }
}

Запустите тест с помощью:

./vendor/bin/phpunit CalculatorTest

Вывод покажет, пройдены тесты или нет.

Погружение в тему

Тестирование не всегда было важной частью раработки в PHP. Изначально многие просто сочиняли код и вручную проверяли его работоспособность. Теперь тестирование - это закон. PHPUnit начал набирать популярность в 2000-х, и теперь это практически стандарт. Альтернативы? Конечно, есть PHPSpec и Behat для начала. Под капотом PHPUnit использует утверждения для сравнения ожидаемых и фактических результатов и тестовые двойники (моки, стабы, шпионы) для имитации внешних зависимостей.

Смотрите также