은 내가 getEntityManager
및 getObject
방법을 테스트 한방법, 모의 이름 클래스
public function prePersist(LifecycleEventArgs $event)
{
$em = $event->getEntityManager();
$entity = $event->getObject();
$metadata = $em->getClassMetadata(get_class($entity));
}
같은 하나 개의 방법이 있지만,이 getClassMetadata
방법과 각각의 매개 변수를 테스트하는 시간이다 매개 변수처럼이있는 방법을 테스트 이 경우에는 하나뿐입니다! ...
Mock_ObjectManager_126b0394
Mock_ObjectManager_cc9f593f
Mock_ObjectManager_8e119a34
진짜 이름 클래스를 반환하지 않습니다와 나는 getClassMetadata
를 호출 할 때 첫 번째 매개 변수 세트를 확인하려면 :
get_class($entity)
위의 라인 (임의) 이름의 클래스를 반환합니다.
$test = $this;
$this->em->expects($this->at(0))
->method('getClassMetadata')
->with(
$this->callback(function($arg) use ($test) {
$test->assertThat($arg,
$this->logicalAnd(
$this->equalTo('ObjectManager')
)
);//assertThat
return true;
}) // callback
)
->willReturn($this->objectManager);
테스트 방법은 무엇입니까?
'assertContains '는 좋은 해결책이 될 수 있습니다 :
다른 옵션은, 그렇게 나쁘지하지만 여전히 완벽하지,
ObjectManager
가assertContains()
과 인수에 포함되어 있는지 확인하는 것입니다. – jjoselon