Symfony - Birim Testi

Birim testi, büyük projelerde devam eden geliştirme için gereklidir. Birim testleri, uygulamanızın bileşenlerini otomatik olarak test edecek ve bir şeyler çalışmadığında sizi uyaracaktır. Birim testi manuel olarak yapılabilir ancak genellikle otomatiktir.

PHPUnit

Symfony çerçevesi, PHPUnit birim testi çerçevesiyle bütünleşir. Symfony çerçevesi için bir birim testi yazmak için, PHPUnit'i kurmamız gerekir. PHPUnit kurulu değilse, indirin ve kurun. Düzgün kurulmuşsa, aşağıdaki yanıtı göreceksiniz.

phpunit 
PHPUnit 5.1.3 by Sebastian Bergmann and contributors

Ünite testi

Birim testi, birim olarak da adlandırılan tek bir PHP sınıfına karşı yapılan testtir.

AppBundle'ın Libs / dizininde bir öğrenci sınıfı oluşturun. Bulunduğu yer“src/AppBundle/Libs/Student.php”.

Student.php

namespace AppBundle\Libs; 

class Student { 
   public function show($name) { 
      return $name. “ , Student name is tested!”; 
   } 
}

Şimdi, "testing / AppBundle / Libs" dizininde bir StudentTest dosyası oluşturun.

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); 
   } 
}

Testi çalıştır

Testi dizinde çalıştırmak için aşağıdaki komutu kullanın.

$ phpunit

Yukarıdaki komutu uyguladıktan sonra aşağıdaki yanıtı göreceksiniz.

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.

Şimdi, Libs dizinindeki testleri aşağıdaki gibi çalıştırın.

$ phpunit tests/AppBundle/Libs

Sonuç

Time: 26 ms, Memory: 4.00Mb 
OK (1 test, 1 assertion)