【问题标题】:redbeanPHP database connect doesn´t work in phpUnit bootstrapredbeanPHP 数据库连接在 phpUnit 引导程序中不起作用
【发布时间】:2014-05-30 10:10:46
【问题描述】:

我使用 redbeanPHP 已经两年了。 在我的新项目中,我不想从一开始就实施单元测试。

我安装了 phpUnit,没有数据库连接一切正常。我现在不想用数据库集成来测试我的课程。我知道这不再是单元测试了。但我认为从实现中自动测试功能对我有很大帮助。

我在我声明为 phpUnit 的引导文件的设置文件中调用 R::setup("mysql:host=localhost;dbname=ufm","root","root");

如果我现在运行我的测试,我会得到:

PDOException: Could not connect to database (ufm). phar:///Applications/MAMP/htdocs/ufm/core/plugins/rb.phar/RedBeanPHP/Driver/RPDO.php:280 phar:///Applications/MAMP/htdocs/ufm/core/plugins/rb.phar/RedBeanPHP/Driver/RPDO.php:126 phar:///Applications/MAMP/htdocs/ufm/core/plugins/rb.phar/RedBeanPHP/Driver/RPDO.php:289 phar:///Applications/MAMP/htdocs/ufm/core/plugins/rb.phar/RedBeanPHP/Adapter/DBAdapter.php:79 phar:///Applications/MAMP/htdocs/ufm/core/plugins/rb.phar/RedBeanPHP/QueryWriter/AQueryWriter.php:576 phar:///Applications/MAMP/htdocs/ufm/core/plugins/rb.phar/RedBeanPHP/OODB.php:893 phar:///Applications/MAMP/htdocs/ufm/core/plugins/rb.phar/RedBeanPHP/Facade.php:463 /Applications/MAMP/htdocs/ufm/tests/TurnierTest.php:14

奇怪的是,我在正常的应用程序中使用了相同的设置文件。一切正常。

phpUnit 或 redbeanPHP 在引导文件中对数据库连接有任何限制吗?我现在搜索了两天,但找不到任何关于此的文档。我只在 google 群组上找到了一篇博文,其中有人成功地做出了完全相同的事情。

感谢您的帮助。 最好的问候,schw4ndi

【问题讨论】:

  • 另一种解决方案是整合 phpUnit 数据库测试 (phpunit.de/manual/3.7/en/database.html)。但我找不到 redbeanPHP 的解决方案。有没有人将 redbeanPHP 集成到 phpUnit 数据库测试中?

标签: php phpunit redbean


【解决方案1】:

试试这个:

R::setup("mysql:host=localhost;dbname=ufm;port=3306","root","root");

我在那里添加了端口号,看看是否有帮助。

如果您需要一个有效的测试单元 + Redbean 示例,您可以在这里尝试骷髅框架:http://github.com/triodigital/skully-project

设置

  1. 将此项目克隆到您的服务器。
  2. 将 config/config.unique.php.original 复制到 config/config.unique.php 并在那里更新数据库信息。
  3. 更新 config/config.common.php 中的 baseUrl 配置。
  4. 将 .htaccess.original 复制到 .htaccess 并更新该文件的第一行。
  5. 通过运行“./composer.phar install”更新项目。

【讨论】:

  • 端口号没有帮助。见我上面的回答。但是感谢测试项目!
【解决方案2】:

我又一次偶然发现了同样的错误。 只需将 localhost 更改为 127.0.0.1 就可以了!也许它可以帮助将来的人。

R::setup("mysql:host=127.0.0.1;dbname=ufm","root","root");

【讨论】:

    猜你喜欢
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2013-10-31
    • 2016-01-31
    • 1970-01-01
    相关资源
    最近更新 更多