我使用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
答案 0 :(得分:0)
试试这个:
R::setup("mysql:host=localhost;dbname=ufm;port=3306","root","root");
我添加了端口号,看看是否有帮助。
如果你需要一个有效的测试单元+ Redbean示例,你可以在这里尝试skully框架:http://github.com/triodigital/skully-project
答案 1 :(得分:0)
我再次偶然发现了同样的错误。 只需将localhost更改为127.0.0.1即可正常工作!也许它有助于未来的人。
R::setup("mysql:host=127.0.0.1;dbname=ufm","root","root");