[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Symfony2 Entity unit testing
Psyhos
Добрый день, подскажите пожалуйста:

Есть модель Category:
Она имеет id, name и parent где хранится id этой же модели, то есть родительская категория.
Вот код:
/
**
*
Category
*
*
@ORM\Table()
*
@ORM\Entity(repositoryClass="Dimas\CatalogBundle\Entity\CategoryRepository")
*/

class Category
{
/**
*
@var integer
*
*
@ORM\Column(name="id", type="integer")
*
@ORM\Id
*
@ORM\GeneratedValue(strategy="AUTO")
*/

private $id;

/**
*
@var string
*
*
@ORM\Column(name="name", type="string", length=255, nullable=false)
*/

private $name;

/**
*
@ORM\OneToMany(targetEntity="Category", mappedBy="parent")
**/

private $owned_childrens;

/**
*
@ORM\ManyToOne(targetEntity="Category", inversedBy="owned_childrens")
**/

private $parent;

public function __construct()
{
$this->owned_childrens = new \Doctrine\Common\Collections\ArrayCollection();
}


/**
* Get owned_childrens
*
*
@return Doctrine\Common\Collections\Collection
*/

public function getOwnedChildrens()
{
return $this->owned_childrens;
}

/**
* Get parent
*
*
@return Category
*/

public function getParent()
{
return $this->parent;
}

...

/**
* Set parent
*
*
@param Dimas\CatalogBundle\Entity $category
*
*
@return Category
*/

public function setParent($category)
{
$this->parent = $category;

return $this;
}
}



Метод getOwnedChildrens() должен выдать коллекцию этой же модели - дочернии категории. Вопрос: как протестировать этот метод?

Я пробую так (в тесте):


public function testGetOwnedChildrens()
{
$category = new Category();
$this->assertInstanceOf('\Doctrine\Common\Collections\ArrayCollection()', $category->getOwnedChildrens());
}


Тест проходит с фейлом: "PHPUnit_Framework_Exception: Argument #1 (No Value) of PHPUnit_Framework_Assert::assertInstanceOf() must be a class or interface name"

Хотя, если я создаю Category в контроллере и вызываю метод $category->getOwnedChildrens() и делаю var_dump получаю
object(Doctrine\Common\Collections\ArrayCollection)[379]
private 'elements' =>
array (size=0)
empty


Как протестировать getOwnedChildrens() ?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.