来自Yii的简单数据库单元测试的错误是什么?

时间:2010-11-13 06:12:53

标签: yii

root@u1010:/opt/lampp/htdocs/trackstar/protected/tests# phpunit unit/DbTest.php
PHPUnit 3.4.13 by Sebastian Bergmann.

E

Time: 2 seconds, Memory: 5.75Mb

There was 1 error:

1) DbTest::testConnection
CDbException: CDbConnection failed to open the DB connection.

/opt/lampp/htdocs/yii/framework/db/CDbConnection.php:275
/opt/lampp/htdocs/yii/framework/db/CDbConnection.php:242
/opt/lampp/htdocs/yii/framework/db/CDbConnection.php:221
/opt/lampp/htdocs/yii/framework/base/CModule.php:363
/opt/lampp/htdocs/yii/framework/base/CModule.php:86
/opt/lampp/htdocs/trackstar/protected/tests/unit/DbTest.php:6

FAILURES!
Tests: 1, Assertions: 0, Errors: 1.
root@u1010:/opt/lampp/htdocs/trackstar/protected/tests# 

4 个答案:

答案 0 :(得分:1)

您应该编辑protected / config / test.php

中的'db'组件声明

当您运行测试时,将使用此配置文件。

检查protected / tests / bootstrap.php以查看包含的文件。

答案 1 :(得分:1)

好。大约半天后拔出我的头发。这就是我必须做的。希望它能帮助别人。几个简单的检查解决了这个问题我有不同路径的php和phpunit的多个副本。我假设您已经通过了/requirements/index.php检查,并且您的配置/主要&测试文件集。

  1. 在终端中找到您的PHPUnit可执行文件:

    哪个phpunit

  2. 找到正在运行的php可执行文件:

    哪个php

  3. sudo vi path / to / phpunit(可执行文件)

  4. 确保引用php exectuable的第一行实际上是第二步中的那一行。

  5. 解决了我的头痛。 :)

答案 2 :(得分:0)

无法连接到您的数据库。之一:

  • 您的数据库连接设置不正确。
  • 您的数据库未运行。
  • 网络配置错误。

答案 3 :(得分:0)

尝试:

mysql_connect("127.0.0.1", "root", "123456") or die (mysql_error());
echo "Connected to MySQL";

有时MySQL服务器的权限设置对于“127.0.0.1”和“localhost”是不同的。如果是这种情况,您可以这样做:

mysql> GRANT ALL PRIVILEGES ON trackstar_dev.* TO 'root'@'127.0.0.1';
你的mysql服务器上的