Unit 测试
优质
小牛编辑
133浏览
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)