【发布时间】:2018-04-05 00:48:17
【问题描述】:
我使用 Laravel 5.5 并尝试模拟一个类的公共方法,该方法在这个类中使用:
class ToTest {
public function filters() {
return 'original';
}
public function callMe() {
return $this->filters();
}
}
这是我的测试代码:
public function it_should_call_bla_bla()
{
$mock = $this->mock(ToTest::class);
$mock->shouldReceive('filters')->andReturn('not orignial');
$toTest = app(ToTest::class);
print_r($toTest->callMe());
}
private function mock($class)
{
$mock = Mockery::mock(app($class))->makePartial();
$this->app->instance($class, $mock);
return $mock;
}
$toTest->callMe() 返回original...
【问题讨论】: