Zend framework 使用PHPUnit&;Doctrine2:自动加载失败
我得到了这个错误Zend framework 使用PHPUnit&;Doctrine2:自动加载失败,zend-framework,phpunit,doctrine-orm,zend-test,Zend Framework,Phpunit,Doctrine Orm,Zend Test,我得到了这个错误 D:\Projects\Tickle\tests>phpunit PHPUnit 3.5.5 by Sebastian Bergmann. ..........ok1 Fatal error: Doctrine\Common\ClassLoader::loadClass(): Failed opening required 'D:\Projects\Tickle\Application\Models\Ap plication\Models\User.php' (incl
D:\Projects\Tickle\tests>phpunit
PHPUnit 3.5.5 by Sebastian Bergmann.
..........ok1
Fatal error: Doctrine\Common\ClassLoader::loadClass(): Failed opening required 'D:\Projects\Tickle\Application\Models\Ap
plication\Models\User.php' (include_path='D:\Projects\Tickle\application/../library;D:\Projects\Tickle\application;D:\Pr
ojects\Tickle\library;D:\ResourceLibrary\Frameworks\PHPFrameworks;C:\Program Files (x86)\PHP\pear;.;c:\php\includes') in
D:\ResourceLibrary\Frameworks\PHPFrameworks\Doctrine\Common\ClassLoader.php on line 148
注意它重复了Application\Models
中的“D:\Projects\Tickle\Application\Models\Application\Models\User.php
”。在一些echo
语句的帮助下,我把它缩小到了单元测试的一个函数
protected function isAllowed($userId, $taskId, $privilege) {
$user = $this->em->find('Application\Models\User', $userId);
echo 'ok1'; // this gets printed
$task = $this->em->find('Application\Models\Task', $taskId); // this seem to be the cause of the problem
echo 'ok2'; // this doesn't get printed
return $this->acl->isAllowed($user, $task, $privilege);
}
全班
所以我试着在Tasks类中查找使用User。。。唯一可以使用User类的是
/**
* @ManyToOne(targetEntity="User", inversedBy="ownedTasks")
*/
protected $owner;
/**
* @ManyToOne(targetEntity="User", inversedBy="assignedTasks")
*/
protected $assigned;
除此之外,我看不到任何用户的使用。全班
我做错了什么?问题实际上是在
TodoList
类中发现的。。。我有点像
public function setProject(Application\Models\Project $project) {
...
}
当我应该使用类似
public function setProject(Project $project) {
$this->project = $project;
}
反而