小编dso*_*nus的帖子

运行symfony单元测试返回"没有打开连接"

在运行单元测试时,Symfony似乎在打开数据库连接时遇到问题.我在config/databases.yml中指定了我的测试env:

all:
  doctrine:
    class: sfDoctrineDatabase
    param:
      dsn: 'mysql:host=localhost;dbname=ms'
      username: ms
      password: xxx
test:
  doctrine:
    class: sfDoctrineDatabase
    param:
      dsn: 'mysql:host=localhost;dbname=ms'
      username: ms
      password: xxx
...

并且(test/unit/MSTest.php)上的测试文件如下所示:

require_once dirname(__FILE__).'/../bootstrap/unit.php';
$a = new Article();
$a->setHeadline("Article Headline");
$a->save();

当我尝试使用"symfony test:unit MS"运行测试时,它只返回"没有打开连接"并退出.单独运行测试(php test/unit/MSTest.php)将返回完整的堆栈跟踪:

C:\phpworkspace\ms>php test/unit/MSTest.php

Fatal error: Uncaught exception 'Doctrine_Connection_Exception' with message 'There is no open connection' in C:\phpworkspace\ms\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\vendor\doctrine\Doctrine\Manager.php:662
Stack trace:
#0 C:\phpworkspace\ms\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\vendor\doctrine\Doctrine\Manager.php(557): Doctrine_Manager->getCurrentConnection()
#1 C:\phpworkspace\ms\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\vendor\doctrine\Doctrine\Core.php(1095): Doctrine_Manager->getConnectionForComponent('Article')
#2 C:\phpworkspace\ms\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\vendor\doctrine\Doctrine\Record.php(219): Doctrine_Core::getTable('Article')
#3 C:\phpworkspace\ms\test\unit\UniversalDemoTest.php(15)
: Doctrine_Record->__construct()
#4 {main}
  thrown in C:\phpworkspace\ms\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\vendor\doctrine\Doctrine\Manager.php …

php unit-testing symfony1 symfony-1.4

1
推荐指数
1
解决办法
4251
查看次数

标签 统计

php ×1

symfony-1.4 ×1

symfony1 ×1

unit-testing ×1