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 использует утверждения для сравнения ожидаемых и фактических результатов и тестовые двойники (моки, стабы, шпионы) для имитации внешних зависимостей.
Смотрите также
- Руководство по PHPUnit: https://phpunit.de/manual/current/en/index.html
- PHP Правильный путь (Тестирование): http://www.phptherightway.com/#testing
- Mockery (фреймворк мокирования для PHPUnit): http://docs.mockery.io/en/latest/