在 Prophecy 中禁用构造函数

Disabling constructor in Prophecy

我有一个 Symfony class 我正在尝试使用 Prophecy 进行模拟。但是,当我显示 class 时,它会执行构造函数。下面是示例代码:

$mock = $this->prophesize('Symfony\Component\HttpFoundation\File\UploadedFile');
$mock->reveal();

哪个returns异常

Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException

这对我来说没有意义,因为 Prophecy 应该自动禁用构造函数?

我遇到了同样的问题,不得不在没有预言的情况下进行模拟:

$uploadedFile = $this->getMockBuilder(UploadedFile::class)->disableOriginalC‌​onstructor()->getMoc‌​k();

可能相关https://github.com/phpspec/prophecy/issues/58