FuelPHP 单元测试

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文件夹下创建一个文件夹,model。
  • 步骤 2-在fuel/app/tests/model/文件夹下创建一个文件employee.php。
  • 步骤 3-通过扩展 phpunit 提供的 testcase 类创建一个新的测试类 test_model_employee。
  • 步骤 4-使用 phpunit 的 testcase 类提供的 assertinstanceof() 方法编写一个方法 testinstanceofemployee() 来资产创建员工对象。

以下是完整的代码:

  
   class test_model_employee extends testcase { 
      public function testinstanceofemployee() { 
         $this--->assertinstanceof(model_employee::class, new model_employee()); 
      } 
   } 

 

创建测试组

fuelphp 提供了创建一组测试用例的选项。创建组就像添加 docblock 属性 @group 一样简单。让我们将我们的测试用例包含在 mytest 组中。

   
   /** 
      * @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

执行命令后,您将收到以下响应。

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)

下一节:fuelphp 工作示例

fuelphp 教程

相关文章