Laragon跑Laravel测试的核心是利用其内置PHP环境执行php artisan test,需确保phpunit.xml配置DB_CONNECTION=sqlite与DB_DATABASE=:memory:、.env.testing存在且APP_ENV=testing生效,测试通过即表明环境配置成功。

用 Laragon 跑 Laravel 测试,核心是让 PHPUnit 在 Laragon 提供的 PHP 环境下正确识别项目、加载配置并连接测试数据库。Laragon 本身不干预测试流程,但它为你提供了开箱即用的 PHP、Composer 和终端环境——只要配置到位,php artisan test 就能直接运行。
确认 Laragon 的 PHP 和 Composer 可用
Laragon 安装后,默认把 PHP 和 Composer 加入系统 PATH(需勾选安装选项或手动启用)。打开 Laragon 自带终端(推荐,避免环境错乱),执行:
-
php -v—— 确认版本 ≥ PHP 8.1(Laravel 当前主流要求) -
composer --version—— 确保能调用全局 Composer -
cd /path/to/your/laravel/project && php artisan --version—— 验证 Laravel 命令正常
检查并补全 Laravel 测试基础文件
Laravel 新项目默认含测试骨架,但旧项目或精简部署可能缺失。进入项目根目录,确认以下存在:
-
phpunit.xml:必须存在且内容合理(尤其<testsuites>指向tests/) -
tests/目录:应含Unit/、Feature/和CreatesApplication.php -
composer.json中有"phpunit/phpunit": "^10.0"(或兼容版本)在require-dev下;若无,运行:composer require --dev phpunit/phpunit
为测试配置 SQLite 内存数据库(最简推荐)
避免污染开发库,也无需手动建库。在项目根目录创建或编辑 .env.testing,写入:
立即学习“PHP免费学习笔记(深入)”;
DB_CONNECTION=sqlite DB_DATABASE=:memory: CACHE_DRIVER=array QUEUE_CONNECTION=sync MAIL_MAILER=array
同时确保 phpunit.xml 中有这行(用于强制测试环境):
<server name="APP_ENV" value="testing"/>
这样每次运行测试时,Laravel 会自动加载 .env.testing,SQLite 内存库开销极小,适合绝大多数单元与功能测试。
运行测试并验证是否生效
在 Laragon 终端中,进入项目目录后执行:
-
php artisan test—— 运行全部测试(首次可能提示无测试,可先生成一个:php artisan make:test ExampleTest --unit) -
php artisan test --filter=test_example—— 按方法名过滤运行 -
php artisan test --verbose—— 查看详细输出,便于调试连接或引导问题
如果看到绿色的点(.)和 “Tests: X passed”,说明 PHPUnit 已通过 Laragon 的 PHP 成功驱动;若报错如 Class 'Tests\TestCase' not found,大概率是 CreatesApplication.php 缺失或命名空间错误,需核对 tests/ 下文件结构。



















