10

我正在使用预言来模拟 UserRepository 类,以确保在发送POST请求时触发 UserRepository 上/user的方法。create()

$repository = $this->prophesize(UserRepository::class);

$repository->create()->shouldBeCalled()

唯一的问题是该create()方法将请求数据作为参数发送到存储库,以便在执行任何操作之前对输入进行一些认真的调整。我如何在create()不告诉预言参数的情况下模拟调用?

还是这对我来说真的很糟糕,并且永远不应该将请求数据传递到存储库?

4

2 回答 2

8
use Prophecy\Argument;

$repository->create(Argument::any())->shouldBeCalled()
于 2016-07-19T16:47:43.857 回答
3
use Prophecy\Argument;

$repository->create(Argument::cetera())->shouldBeCalled()

any()匹配任何单个值,其中所有值与签名的其余部分cetera匹配。

于 2020-08-01T07:51:02.497 回答