我编写了这个测试,返回以下错误:
(没有为Mockery_1_My_Class::make(array('valid_until'=>'2020-03-04',找到匹配的处理程序))。该方法可能是意外的,或者其参数与此方法的预期参数列表不匹配。
现在,我的测试中包含了以下代码:
$rateValidator->shouldReceive('make')->once()
->withArgs([$attributes])->andReturn(mockery::self());
$rateValidator->shouldReceive('addContext')
->withArgs(['update_rate_validity'])->andReturn(mockery::self());这是这个测试正在测试的代码:
$attributes = [
'valid_until' => $command->validUntilDate
];
$validator = $this->rateValidator->make($attributes)->addContext('update_rate_validity');我在这里做错什么了?对我来说,唯一的问题可能是arguments ($attributes),即make正在接收的方法,但我不知道这可能是什么?
发布于 2022-07-18 13:26:09
您需要确定您作为模拟发送的数据。通过调用函数发送的数据类型和预期的数据类型必须相同。
例如:您的函数期望数据如下:
[
'test' => 'test',
]您必须发送相同的数据才能通过模拟运行。
$validator->shouldReceive('theFunction')->with(['test' => 'test'])->andRetun('xx');https://stackoverflow.com/questions/60507150
复制相似问题