Symfony - Pengujian Unit
Uji unit sangat penting untuk pengembangan berkelanjutan dalam proyek besar. Tes unit akan secara otomatis menguji komponen aplikasi Anda dan memperingatkan Anda ketika ada sesuatu yang tidak berfungsi. Pengujian unit dapat dilakukan secara manual tetapi seringkali otomatis.
PHPUnit
Framework Symfony terintegrasi dengan framework pengujian unit PHPUnit. Untuk menulis pengujian unit untuk framework Symfony, kita perlu menyiapkan PHPUnit. Jika PHPUnit tidak diinstal, unduh dan instal. Jika sudah terpasang dengan benar, maka Anda akan melihat respon berikut.
phpunit
PHPUnit 5.1.3 by Sebastian Bergmann and contributors
Tes unit
Pengujian unit adalah pengujian terhadap satu kelas PHP, juga disebut sebagai unit.
Buat siswa kelas di direktori Libs / AppBundle. Itu terletak di“src/AppBundle/Libs/Student.php”.
Student.php
namespace AppBundle\Libs;
class Student {
public function show($name) { return $name. “ , Student name is tested!”;
}
}
Sekarang, buat file StudentTest di direktori "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);
}
}
Run test
To run the test in the directory, use the following command.
$ phpunit
After executing the above command, you will see the following response.
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.
Now, run the tests in the Libs directory as follows.
$ phpunit tests/AppBundle/Libs
Result
Time: 26 ms, Memory: 4.00Mb
OK (1 test, 1 assertion)