Symfony - Kiểm tra đơn vị

Unit test là điều cần thiết để phát triển liên tục trong các dự án lớn. Các bài kiểm tra đơn vị sẽ tự động kiểm tra các thành phần của ứng dụng và cảnh báo cho bạn khi có điều gì đó không hoạt động. Kiểm thử đơn vị có thể được thực hiện thủ công nhưng thường được tự động hóa.

PHPUnit

Khung công tác Symfony tích hợp với khung thử nghiệm đơn vị PHPUnit. Để viết một bài kiểm tra đơn vị cho khung công tác Symfony, chúng ta cần thiết lập PHPUnit. Nếu PHPUnit chưa được cài đặt, hãy tải xuống và cài đặt nó. Nếu nó được cài đặt đúng cách, thì bạn sẽ thấy phản hồi sau.

phpunit 
PHPUnit 5.1.3 by Sebastian Bergmann and contributors

Bài kiểm tra đơn vị

Bài kiểm tra đơn vị là bài kiểm tra đối với một lớp PHP duy nhất, còn được gọi là một đơn vị.

Tạo một sinh viên lớp trong thư mục Libs / của AppBundle. Nó được đặt tại“src/AppBundle/Libs/Student.php”.

Student.php

namespace AppBundle\Libs; 

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

Bây giờ, hãy tạo một tệp StudentTest trong thư mục “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); 
   } 
}

Chạy thử nghiệm

Để chạy thử nghiệm trong thư mục, hãy sử dụng lệnh sau.

$ phpunit

Sau khi thực hiện lệnh trên, bạn sẽ thấy phản hồi sau.

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.

Bây giờ, hãy chạy các bài kiểm tra trong thư mục Libs như sau.

$ phpunit tests/AppBundle/Libs

Kết quả

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