【发布时间】:2015-09-03 13:01:20
【问题描述】:
我一直在测试、添加和删除行以查看问题出在哪里。我已经设法剪掉了这么多行,基本上我的测试看起来像那样(当然要看看有什么问题,我知道这不是正确的测试):
public function test()
{
$invoice = new Invoice();
$invoiceRepository = $this
->getMockBuilder('\Doctrine\ORM\EntityRepository')
->disableOriginalConstructor()
->getMock();
$invoiceRepository->expects($this->once())
->method('findOneByNextNote')
->will($this->returnValue($invoice));
$invoiceRepository->findOneByNextNote();
}
还是不行!我从标题中得到一个错误:
方法名称的期望失败等于 调用 1 次时。方法是预期的 调用1次,实际调用0次。
我错过了什么?
【问题讨论】:
-
我们不知道您遗漏了什么,但我们遗漏了经过测试的代码;)
-
我不知道你的模拟框架是如何工作的,但是对于其他框架,你必须“开始”你的模拟。喜欢
EasyMock.replay(mockObject) -
@lukelazarovic 但我的测试现在看起来像这样!并且仍然无法正常工作。
-
我认为问题在于实际上并没有调用名为“findOneByNextNote”的真正方法,因为这是通过方法重载委托给 EntityRepository 的 __call 方法的。