在 Ubuntu 下为 ThinkPHP 项目进行单元测试,你可以遵循以下步骤:
首先,确保你已经安装了 PHP 和 Composer。然后,在项目根目录下运行以下命令来安装 PHPUnit 和其他必要的依赖:
composer require --dev phpunit/phpunit ^9.0
这将在你的项目中安装 PHPUnit 9.x 版本。
在项目根目录下创建一个名为 phpunit.xml 的文件。这个文件将包含 PHPUnit 的配置信息。以下是一个简单的示例配置:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php"
colors="true"
verbose="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="ThinkPHP Test Suite">
<directory suffix="Test.php">./application/test</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix="Controller.php">./application/controller</directory>
<directory suffix="Model.php">./application/model</directory>
</whitelist>
</filter>
</phpunit>
这个配置文件指定了测试文件的位置(./application/test 目录下的以 Test.php 结尾的文件),以及需要被测试的文件类型(控制器和模型)。
在 ./application/test 目录下创建一个新的 PHP 文件,例如 ExampleTest.php。在这个文件中,编写一个简单的测试用例:
<?php
use PHPUnit\Framework\TestCase;
class ExampleTest extends TestCase
{
public function testBasicTest()
{
$this->assertTrue(true);
}
}
在项目根目录下运行以下命令来执行测试:
vendor/bin/phpunit
这将运行你在 phpunit.xml 文件中配置的测试套件。
PHPUnit 将显示测试结果,包括通过的测试、失败的测试以及失败的原因。
随着你对项目的了解加深,你可以为更多的控制器、模型和其他组件编写测试用例。只需确保遵循良好的测试实践,例如编写可读性强的测试代码、覆盖各种边界情况等。