在ThinkPHP项目中进行单元测试,可以遵循以下步骤:
composer require --dev phpunit/phpunit
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
<testsuites>
<testsuite name="Application 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目录下),以及需要被测试的文件(控制器和模型)。
./application/test目录下创建相应的测试类。测试类的命名应该遵循Test后缀,例如UserControllerTest.php。测试类应该继承PHPUnit\Framework\TestCase类,并编写测试方法。例如:<?php
namespace app\test\controller;
use PHPUnit\Framework\TestCase;
use app\controller\UserController;
class UserControllerTest extends TestCase
{
public function testIndex()
{
$controller = new UserController();
$response = $controller->index();
$this->assertStringContainsString('用户列表', $response);
}
}
vendor/bin/phpunit
这个命令将运行你在phpunit.xml中配置的所有测试用例。
注意:在实际项目中,你可能需要根据项目的具体情况来调整配置文件和测试类。这个示例仅基本的指南,帮助你在ThinkPHP项目中开始进行单元测试。