PHPUnit预测了一个没有精确参数的方法

dar*_*ue3 6 php testing mocking laravel prophecy

我正在使用prophecy模拟一个UserRepository类,以确保在发送POST请求时/user,create()触发UserRepository 上的方法.

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

$repository->create()->shouldBeCalled()
Run Code Online (Sandbox Code Playgroud)

唯一的问题是该create()方法将Request数据作为参数发送到存储库,以便在执行任何操作之前对输入进行一些严格的调整.如何在create()不告知预言论证的情况下嘲笑电话?

或者这对我来说真的很糟糕,请求数据永远不会传递到存储库?

ako*_*ond 6

use Prophecy\Argument;

$repository->create(Argument::any())->shouldBeCalled()
Run Code Online (Sandbox Code Playgroud)