正确断言用于测试Symfony2中的Doctrine实体

时间:2014-07-04 13:16:08

标签: php unit-testing symfony doctrine-orm phpunit

我正在为我的实体编写一些测试,这是代码:

$device = new Device();
$strTool = new StringTools();

$imei = $strTool->randomNumber(17);
$device->setImei($imei);
$device->setDescription($strTool->generateRandomString(50));

$this->em->persist($device);
$this->em->flush();

$devices = $this->em->getRepository('DeviceBundle:Device')->findOneBy(array('imei' => $imei));

$this->assertCount(1, $devices);
$this->assertTrue(is_object($device));

但是第一次测试assertCount失败了这条消息:

  

PHPUnit_Framework_Exception:参数#2(无值)   PHPUnit_Framework_Assert :: assertCount()必须是可数的或   穿越

测试我从DB获得结果的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

findOneBy只返回一个元素,而是使用findBy

顺便说一下,你在这里测试的是Doctrine本身。学说已经过很好的测试,所以你没有必要这样做。