当前位置: 首页 > 文档资料 > FuelPHP 入门教程 >

Unit 测试

优质
小牛编辑
137浏览
2023-12-01

单元测试是开发大型项目的重要过程。 Unit tests有助于在开发的每个阶段自动测试应用程序的组件。 当应用程序的组件根据项目的业务规范不工作时,它会发出警报。 单元测试可以手动完成,但通常是自动化的。

PHPUnit

FuelPHP框架与PHPUnit测试框架集成。 要编写FuelPHP框架的单元测试,我们需要设置PHPUnit。 如果未安装PHPUnit,则下载并安装它。 我们可以使用以下命令在我们的系统中确认PHPUnit的可用性。

phpunit --version

如果PHPUnit可用,您将看到类似于以下内容的结果。

PHPUnit 5.1.3 by Sebastian Bergmann and contributors. 

创建单元测试

FuelPHP提供的写入单元测试的标准位置是燃料/应用/测试。 我们可以在单独的文件夹中编写控制器,模型,视图和演示者的单元测试。 让我们编写一个单元测试来验证Model_Employee对象。

  • Step 1 - 在fuel/app/tests文件夹下创建一个文件夹。

  • Step 2 - 在fuel/app/tests/model /文件夹下创建一个文件employee.php。

  • Step 3 - 通过扩展PHPUnit提供的TestCase类,创建一个新的测试类Test_Model_Employee。

  • Step 4 - 编写一个方法testInstanceOfEmployee(),使用PHPUnit的TestCase类提供的assertInstanceOf()方法为员工对象创建资产。

以下是完整的代码 -

<?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

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

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)