2010-11-13 47 views
2
[email protected]:/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. 
[email protected]:/opt/lampp/htdocs/trackstar/protected/tests# 

Répondre

0

Impossible de se connecter à votre base de données. Soit:

  • Vos paramètres de connexion à la base de données sont incorrects.
  • Votre base de données n'est pas en cours d'exécution.
  • Il y a une mauvaise configuration réseau.
+0

mysql en cours d'exécution, yii config semble correct. – chenge

+0

config/main.php: 'db' => array ( 'classe' => 'CDbConnection', 'connectionString' => 'mysql: host = 127.0.0.1; dbname = trackstar_dev', ' emulatePrepare' = > true, 'nom d'utilisateur' => 'root', 'password' => '123456', 'charset' => 'utf8', ), – chenge

+0

Assurez-vous que vous pouvez vous connecter en utilisant ces droits d'accès à cette base de données à la fois le client MySQL et en utilisant mysql_connect en PHP. –

0

essayer:

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

parfois les privilèges de réglage du serveur MySQL sont différents pour "127.0.0.1" et "localhost". Si tel est le cas, vous pouvez le faire:

mysql> GRANT ALL PRIVILEGES ON trackstar_dev.* TO 'root'@'127.0.0.1'; 

sur votre serveur mysql

+0

ou vous pouvez changer votre yii main.php en ..., 'connectionString' => 'localhost', ... – ZaQ

+0

cela ne fonctionne pas – Silentbang

1

Vous devez modifier la déclaration de composant 'db' dans protected/config/test.php

Ce fichier de configuration est utilisé lorsque vous exécutez vos tests.

Vérifiez protected/tests/bootstrap.php pour voir les fichiers inclus.

1

OK. Après environ une demi-journée à sortir mes cheveux. C'est tout ce que j'avais à faire. J'espère que ça aide les autres. Plusieurs vérifications simples ont résolu ce problème. J'ai plusieurs copies de PHP et phpunit avec des chemins différents. Je suppose que vous avez passé vos vérifications /requirements/index.php et votre fichier de test config/main &.

  1. dans le terminal Localisez votre exécutable PHPUnit:

    qui PHPUnit

  2. Localisez votre exécutable en cours d'exécution php:

    qui php

  3. chemin sudo vi/à/PHPUnit (l'exécutable)

  4. assurez-vous que la première ligne référençant le php exectuable est en fait celle de l'étape deux.

Résolu mon mal de tête. :)