我正在使用 Symfony 并且我正在尝试测试“Student”类中的 addStudentCard 函数,该函数将“StudentCard”对象添加到 $studentCards 数组集合属性中,并将“Student”对象添加到“StudentCard”类中的 $student 属性中。我是这样做的:class StudentCard { private $student; public function getStudent(); public function setStudent(); //...}class Student { private $studentCards; public function getStudentCards(); public function addStudentCard(StudentCard $studentCard){ $studentCard->setStudent($this); $this->studentCards[] = $studentCard; return $this; //...}我想要实现的是使用 MockBuilder 测试此 addStudentCard 函数,我已经通过以下方式在不使用模拟的情况下完成了此操作:class StudentTest extends AbstractTestCase { public function testAddStudentCard(){ $studentCard = new StudentCard(); $student = new Student(); $student->addStudentCard($studentCard); $student->assertSame($studentCard, $student->getStudentCards()[0]); $student->assertSame($student, $studentCard->getStudent());}这按预期工作没有问题。我想要的是替换该行:$studentCard = new StudentCard();像这样:$studentCard = $this->getMockBuilder(StudentCard::class)->getMock();但我得到的是错误:断言 null 与 Student 类的对象相同。
2 回答
- 2 回答
- 0 关注
- 172 浏览
添加回答
举报
0/150
提交
取消