尝试在控制台上 运行 CakePHP2 测试的问题

Issues Trying to Run CakePHP2 Tests on Console

在我的开发环境中,我通过 Composer 将 CakePHP 加载到 Vendor 目录。该站点 运行 以及浏览器中的测试都很好。在控制台中,我能够生成 MVC、测试用例、固定装置等。我无法做到的 运行 我在控制台上的测试。 ./Console/cake test app Controller/OrdersController 产生 Error: Database connection "Mysql" is missing, or could not be created. 我确实在 database.php 中设置了我的 $test DATABASE_CONFIG 我想如果那不正确,我将无法 运行 我在浏览器中的测试。我正在使用 运行ning 版本 2.5.8,并且正在使用带有 $composerInstall 变量的最新 cake.php 文件,如图所示 https://github.com/cakephp/cakephp/blob/05709908a7f529d4e49534b687b0f31884e95132/app/Console/cake.php 谁能建议我应该进一步研究修复这和 运行 我在命令行上的测试?

您可能必须为 PHP-CLI 启用 PDO 模块,它们有不同的配置。

在 Linux 它们被保存在 /etc/php5/cli/conf.d

您应该创建一个符号 link 到 ../../mods-available/pdo_mysql.ini 或您系统上的任何内容。

在 Windows 下它将在 php.ini.

更新:

您还应该检查您的 database.php.

中是否定义了 $this->default

我进一步研究并发现了我的问题。它实际上在我的 Fixture 文件中。在其中的几个中,我指定了模型和连接密钥。删除那些使我的测试在命令行上工作并且不再有 Mysql 遗漏错误。