Symfony - Teste de Unidade
O teste de unidade é essencial para o desenvolvimento contínuo em grandes projetos. Os testes de unidade irão testar automaticamente os componentes do seu aplicativo e alertá-lo quando algo não estiver funcionando. O teste de unidade pode ser feito manualmente, mas geralmente é automatizado.
PHPUnit
O framework Symfony se integra ao framework de teste de unidade PHPUnit. Para escrever um teste de unidade para o framework Symfony, precisamos configurar o PHPUnit. Se o PHPUnit não estiver instalado, baixe e instale-o. Se estiver instalado corretamente, você verá a seguinte resposta.
phpunit
PHPUnit 5.1.3 by Sebastian Bergmann and contributors
Teste de unidade
Um teste de unidade é um teste contra uma única classe PHP, também chamada de unidade.
Crie uma classe Student no diretório Libs / do AppBundle. Está localizado em“src/AppBundle/Libs/Student.php”.
Student.php
namespace AppBundle\Libs;
class Student {
public function show($name) {
return $name. “ , Student name is tested!”;
}
}
Agora, crie um arquivo StudentTest no diretório “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);
}
}
Teste de corrida
Para executar o teste no diretório, use o seguinte comando.
$ phpunit
Depois de executar o comando acima, você verá a seguinte resposta.
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.
Agora, execute os testes no diretório Libs da seguinte maneira.
$ phpunit tests/AppBundle/Libs
Resultado
Time: 26 ms, Memory: 4.00Mb
OK (1 test, 1 assertion)