在我的开发环境中,我通过Composer将CakePHP加载到Vendor目录。该网站运行良好以及浏览器中的测试。在控制台中,我能够生成MVC,测试用例,固定装置等。我无法做到这一点在控制台上运行我的测试。 ./Console/cake test app Controller/OrdersController
生成Error: Database connection "Mysql" is missing, or could not be created.
我在$test
设置了database.php
DATABASE_CONFIG,我想如果这不正确,我将无法在浏览器中运行我的测试。我正在运行2.5.8版本并使用最新的cake.php
文件和$composerInstall
变量,如图所示https://github.com/cakephp/cakephp/blob/05709908a7f529d4e49534b687b0f31884e95132/app/Console/cake.php任何人都可以建议我应该进一步考虑修复此问题并运行我的测试在命令行上?
答案 0 :(得分:0)
您可能必须为PHP-CLI启用PDO模块,它们具有不同的配置。
在Linux上,它们保存在/etc/php5/cli/conf.d
你应该创建一个符号链接到../../mods-available/pdo_mysql.ini或你系统上的任何东西。
在Windows下,它将在php.ini中。
更新
您还应该检查您的database.php中是否定义了$ this->默认值。
答案 1 :(得分:0)
我进一步深入研究了这个问题。它实际上在我的Fixture文件中。在其中的几个中,我指定了模型和连接键。删除那些使我的测试在命令行上工作,并且不再有Mysql丢失错误。