不能在Symfony2 / PHPUnit测试中包含Phactory

时间:2012-10-31 17:29:20

标签: symfony phactory

我正在努力让Phactory使用Symfony2项目。这是我在我的一个单元测试中所拥有的:

<?php
namespace VNN\PressboxBundle\Tests\Entity;
namespace VNN\PressboxBundle\Entity;
use VNN\PressboxBundle\Entity\User;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
use Phactory\Sql\Phactory;

class UserTest extends EntityTest
{
    public function testCreate()
    {   
        Phactory::define('user', array(
            'username' => 'jasonswett',
        )); 
    }   
}

我尝试运行该测试时遇到的错误是:

PHP Fatal error:  Class 'Phactory\Sql\Phactory' not found in /Users/jason/Web/pressbox/src/VNN/PressboxBundle/Tests/Entity/UserTest.php on line 12

足够公平。如何让这个文件与Phactory交谈?如果有帮助,我知道Phactory类是在vendor/chriskite/phactory/lib/Phactory/Sql/Phactory.php中定义的,前几行是这样的:

<?php

namespace Phactory\Sql;

class Phactory {

1 个答案:

答案 0 :(得分:0)

只需将Phactory命名空间添加到autoload.php即可。

另外,我更喜欢在bootstrap中将PHPUnit的autoload.php参数设置为phpunit.xml.dist

<phpunit
    ...
    bootstrap = "autoload.php"
>

这适用于基于Composer的Symfony 2.1项目,但我不确定2.0的项目。