1 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
你錯(cuò)誤地稱(chēng)之為shouldHaveReceived嘲弄。
使用這種方法:
$mockedNewsLetterService->shouldHaveReceived(`method`)->with($model);
此外,為了測(cè)試我使用的作業(yè)調(diào)度bindMethod,app因此測(cè)試應(yīng)該是:
public function testMethod()
{
$this->app->instance(MyModel::class,\Mockery::mock(MyModel::class,function($mock){
$mock->shouldReceive('save')->andReturn(true);
}));
$model=factory(MyModel::class)->create([
'shouldCallService'=>true,
]);
$mockedNewsLetterService=Mockery::spy(MyService::class);
$this->app->bindMethod(NewsLetterSubscribeUserJob::class.'@handle', function ($job, $app) use ($mockedNewsLetterService){
return $job->handle($mockedNewsLetterService);
});
MyJob::dispatchNow($model);
$mockedNewsLetterService->shouldHaveReceived('method')->with($model);
}
如您所見(jiàn),我使用該應(yīng)用程序來(lái)處理作業(yè)調(diào)度。另外,為了避免在測(cè)試期間使用第 3 方服務(wù),我也使用dispatchNow了這樣的服務(wù),以便我的工作不被排隊(duì)。
- 1 回答
- 0 關(guān)注
- 123 瀏覽
添加回答
舉報(bào)