Учебники

FuelPHP – модульное тестирование

Модульное тестирование является важным процессом при разработке крупных проектов. Модульные тесты помогают автоматизировать тестирование компонентов приложения на каждом этапе разработки. Он предупреждает, когда компонент приложения не работает в соответствии с бизнес-спецификацией проекта. Модульное тестирование может быть выполнено вручную, но часто автоматизировано.

PHPUnit

Каркас FuelPHP интегрируется со средой тестирования PHPUnit. Чтобы написать модульный тест для среды FuelPHP, нам нужно настроить PHPUnit. Если PHPUnit не установлен, скачайте и установите его. Мы можем подтвердить наличие PHPUnit в нашей системе с помощью следующей команды.

phpunit --version

Если доступен PHPUnit, вы увидите результат, подобный следующему.

PHPUnit 5.1.3 by Sebastian Bergmann and contributors. 

Создание юнит-тестов

Стандартным местоположением, предоставляемым FuelPHP для написания юнит-теста, является fuel / app / tests. Мы можем написать модульный тест для контроллера, модели, представления и презентаторов в отдельных папках. Давайте напишем модульный тест для проверки объекта Model_Employee.

  • Шаг 1 – Создайте папку модели в папке fuel / app / tests.

  • Шаг 2 – Создайте файл employee.php в папке fuel / app / tests / model /.

  • Шаг 3. Создайте новый тестовый класс Test_Model_Employee, расширив класс TestCase, предоставленный из PHPUnit.

  • Шаг 4 – Напишите метод testInstanceOfEmployee () для активизации создания объекта сотрудника с помощью метода assertInstanceOf (), предоставленного классом PHPCnit TestCase.

Шаг 1 – Создайте папку модели в папке fuel / app / tests.

Шаг 2 – Создайте файл employee.php в папке fuel / app / tests / model /.

Шаг 3. Создайте новый тестовый класс Test_Model_Employee, расширив класс TestCase, предоставленный из PHPUnit.

Шаг 4 – Напишите метод testInstanceOfEmployee () для активизации создания объекта сотрудника с помощью метода assertInstanceOf (), предоставленного классом PHPCnit TestCase.

Ниже приведен полный код –

<?php  
   class Test_Model_Employee extends TestCase { 
      public function testInstanceOfEmployee() { 
         $this->assertInstanceOf(Model_Employee::class, new Model_Employee()); 
      } 
   } 

Создание тестовой группы

FuelPHP предоставляет возможность создать группу тестовых случаев. Создать группу так же просто, как добавить атрибут docblock @group. Давайте включим наш тестовый пример в группу MyTest.

<?php   
   /** 
      * @group MyTest 
   */ 
   class Test_Model_Employee extends TestCase { 
      public function testInstanceOfEmployee() { 
         $this->assertInstanceOf(Model_Employee::class, new Model_Employee()); 
      } 
   }

Выполнить тест

Чтобы запустить весь тест в каталоге, используйте следующую команду.

$ php oil test

Чтобы запустить определенную группу тестов, используйте следующую команду.

$ php oil test --group = MyTest

После выполнения команды вы получите следующий ответ.