Модульное тестирование необходимо для постоянного развития в крупных проектах. Модульные тесты автоматически протестируют компоненты вашего приложения и сообщат вам, когда что-то не работает. Модульное тестирование может быть выполнено вручную, но часто автоматизировано.
PHPUnit
Платформа Symfony интегрируется с платформой модульного тестирования PHPUnit. Чтобы написать модульный тест для платформы Symfony, нам нужно настроить PHPUnit. Если PHPUnit не установлен, скачайте и установите его. Если он установлен правильно, то вы увидите следующий ответ.
phpunit PHPUnit 5.1.3 by Sebastian Bergmann and contributors
Модульный тест
Модульный тест — это тест против одного класса PHP, также называемого модулем.
Создайте класс Student в каталоге Libs / AppBundle. Он находится по адресу «src / AppBundle / Libs / Student.php» .
Student.php
namespace AppBundle\Libs; class Student { public function show($name) { return $name. “ , Student name is tested!”; } }
Теперь создайте файл StudentTest в каталоге «tests / AppBundle / Libs».
StudentTest.php
namespace Tests\AppBundle\Libs; use AppBundle\Libs\Student; class StudentTest extends \PHPUnit_Framework_TestCase { public function testShow() { $stud = new Student(); $assign = $stud->show(‘stud1’); $check = “stud1 , Student name is tested!”; $this->assertEquals($check, $assign); } }
Запустить тест
Чтобы запустить тест в каталоге, используйте следующую команду.
$ phpunit
После выполнения вышеуказанной команды вы увидите следующий ответ.
PHPUnit 5.1.3 by Sebastian Bergmann and contributors. Usage: phpunit [options] UnitTest [UnitTest.php] phpunit [options] <directory> Code Coverage Options: --coverage-clover <file> Generate code coverage report in Clover XML format. --coverage-crap4j <file> Generate code coverage report in Crap4J XML format. --coverage-html <dir> Generate code coverage report in HTML format.
Теперь запустите тесты в каталоге Libs следующим образом.