Laravel 4 如何在laravel中模拟find方法?
我正在尝试编写一个单元测试,我需要能够模拟对App::make('ClassName')->find($x)的内部调用。但是,当我尝试这一点时:Laravel 4 如何在laravel中模拟find方法?,laravel-4,mocking,phpunit,Laravel 4,Mocking,Phpunit,我正在尝试编写一个单元测试,我需要能够模拟对App::make('ClassName')->find($x)的内部调用。但是,当我尝试这一点时: $mock = $this->getMockBuilder('ClassName')-> setMethods(['find'])-> getMock(); $mock->method('find')->willReturn('test'); echo $mock-&
$mock = $this->getMockBuilder('ClassName')->
setMethods(['find'])->
getMock();
$mock->method('find')->willReturn('test');
echo $mock->find(1);
我得到了一个PHPUnit\u Framework\u MockObject\u BadMethodCallException
,其中没有描述错误的消息。查看ad xdebug跟踪,我看到它调用mock::find方法,然后立即调用spl_autoload_调用以获取BadMethodCallException类
为什么find方法失败了?如果我使用不同的方法(例如,
findx
),那么它可以完美地工作。查找
的神奇之处是什么?我如何修复它?你可以使用mocky…它非常容易模仿。