redbeanPHP数据库连接在phpUnit bootstrap中不起作用

时间:2014-05-30 10:10:47

标签: php phpunit redbean

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

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

我在我的安装文件中调用了R::setup("mysql:host=localhost;dbname=ufm","root","root");,我将其声明为phpUnit的bootstrap文件。

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

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

2 个答案:

答案 0 :(得分:0)

试试这个:

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

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

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

设置

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

答案 1 :(得分:0)

我再次偶然发现了同样的错误。 只需将localhost更改为127.0.0.1即可正常工作!也许它有助于未来的人。

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