0

モデルを直接渡すのではなく、マネージャーが作成してくれることを期待しているので、このメソッドを完全にテストする方法はありますか?

public function giveAchievement(User $user, $achievementType)
{
    $a2p = new Achievement2User();
    $a2p->setUser($user);
    $a2p->setAchievement($this->em->getReference(AchievementManager::ACHIEVEMENT_CLASS, $achievementType));
    $a2p->setObtainedOn(new \DateTime());

    $this->em->persist($a2u);
    $this->em->flush();
}

をモックしたので、そのメソッドが のインスタンスで呼び出されて$emいるかどうかを確認できます。persistAchievement2User

$this->em->expects($this->once())
    ->method('persist')
    ->with($this->isInstanceOf('Achievement2User'));

Userしかし、渡されたモデルにフィールドとAchievementフィールドが正しく設定されているかどうかを実際に確認する方法はありますか?

4

1 に答える 1