FuelPHP - Thử nghiệm đơn vị
Kiểm thử đơn vị là một quá trình thiết yếu trong việc phát triển các dự án lớn. Unit testsgiúp tự động hóa việc kiểm tra các thành phần của ứng dụng ở mọi giai đoạn phát triển. Nó cảnh báo khi thành phần của ứng dụng không hoạt động theo đặc điểm kinh doanh của dự án. 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 FuelPHP tích hợp với khung thử nghiệm PHPUnit. Để viết một bài kiểm tra đơn vị cho khung FuelPHP, 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ó. Chúng tôi có thể xác nhận tính khả dụng của PHPUnit trong hệ thống của mình bằng lệnh sau.
phpunit --version
Nếu có PHPUnit, bạn sẽ thấy kết quả tương tự như sau.
PHPUnit 5.1.3 by Sebastian Bergmann and contributors.
Tạo bài kiểm tra đơn vị
Vị trí tiêu chuẩn được FuelPHP cung cấp để viết bài kiểm tra đơn vị là nhiên liệu / ứng dụng / kiểm tra. Chúng ta có thể viết bài kiểm tra đơn vị cho bộ điều khiển, mô hình, chế độ xem và người trình bày trong các thư mục riêng biệt. Hãy để chúng tôi viết một bài kiểm tra đơn vị để xác thực đối tượng Model_Eaffee.
Step 1 - Tạo thư mục, mô hình trong thư mục fuel / app / tests.
Step 2 - Tạo một tập tin, worker.php trong thư mục fuel / app / tests / model /.
Step 3 - Tạo một lớp thử nghiệm mới, Test_Model_Eosystemee bằng cách mở rộng lớp TestCase được cung cấp bởi PHPUnit.
Step 4 - Viết một phương thức, testInstanceOfErantyee () để tạo tài sản cho việc tạo đối tượng nhân viên bằng cách sử dụng phương thức khẳng định InstanceOf () do lớp TestCase của PHPUnit cung cấp.
Sau đây là mã hoàn chỉnh -
<?php
class Test_Model_Employee extends TestCase {
public function testInstanceOfEmployee() {
$this->assertInstanceOf(Model_Employee::class, new Model_Employee());
}
}
Tạo nhóm thử nghiệm
FuelPHP cung cấp một tùy chọn để tạo một nhóm các trường hợp thử nghiệm. Tạo nhóm đơn giản như thêm thuộc tính docblock, @group. Hãy để chúng tôi đưa trường hợp thử nghiệm của chúng tôi vào nhóm MyTest.
<?php
/**
* @group MyTest
*/
class Test_Model_Employee extends TestCase {
public function testInstanceOfEmployee() {
$this->assertInstanceOf(Model_Employee::class, new Model_Employee());
}
}
Chạy thử nghiệm
Để chạy tất cả thử nghiệm trong thư mục, hãy sử dụng lệnh sau.
$ php oil test
Để chạy một nhóm kiểm tra cụ thể, hãy sử dụng lệnh sau.
$ php oil test --group = MyTest
Sau khi thực hiện lệnh, bạn sẽ nhận được phản hồi sau.
Tests Running...This may take a few moments.
PHPUnit 5.1.3 by Sebastian Bergmann and contributors.
1 / 1 (100%).
Time: 123 ms, Memory: 8.00Mb
OK (1 test, 1 assertion)