モデルを直接渡すのではなく、マネージャーが作成してくれることを期待しているので、このメソッドを完全にテストする方法はありますか?
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
いるかどうかを確認できます。persist
Achievement2User
$this->em->expects($this->once())
->method('persist')
->with($this->isInstanceOf('Achievement2User'));
User
しかし、渡されたモデルにフィールドとAchievement
フィールドが正しく設定されているかどうかを実際に確認する方法はありますか?