【发布时间】:2018-03-20 09:34:20
【问题描述】:
我想对一个类进行单元测试,我需要模拟实体。
综上所述,我需要做一个childEntity的反射类,以便设置它的ID,然后调用
parentEntity->addChild($childEntity)
问题是addChild() 在childEntity 上被提示类型,当我发送ReflectionClass 时抛出异常
有什么方法可以让方法认为参数是一个有效的类?
编辑:我忘了提到childEntity 中的setId() 不存在。这是一个由 Doctrine 处理的自增字段。
【问题讨论】:
-
你在使用 PHPUnit 吗?如果是,请参阅Test doubles 你可以这样使用它
$stub = $this->getMockBuilder($childEntityClassName)->getMock();PHPUnit 提供的 createMock($type) 和 getMockBuilder($type) 方法可以在测试中自动生成一个可以充当测试替身的对象对于指定的原始类型(接口或类名)。此测试双重对象可用于预期或需要原始类型对象的每个上下文。
标签: php symfony phpunit type-hinting