我想对我的所有目录实体方法进行单元测试,并且在测试getter getId()时遇到问题。 当我创建目录(新目录())时,没有Id设置,也没有setId()方法!
我的第一步是写mok:
public function testGetId()
{
$category = $this->getMock('\Dimas\CatalogBundle\Entity\Category');
$category->expects($this->any())
->method('getId')
->will($this->returnValue(352));
$this->assertEquals(352, $category->getId());
}
但是这个虚拟测试没有测试我的实体!
测试getId()方法的正确方法是什么?
答案 0 :(得分:1)
如果您已经生成了ID(通过Doctrine,数据库自动增量或其他内容),那么您将测试Doctrine(等)代码。
要正确测试getId()
,您必须自己设置ID,无论是通过构造函数(首选)还是设置器。
我个人更喜欢使用UUID的第二种方法。您可以找到更多信息with example here。