【发布时间】:2021-12-01 22:20:54
【问题描述】:
我正在尝试使用 Laravel 的应用服务容器来解析模拟实例以进行测试。我创建了一个模拟,它在单独创建 CS_REST_Subscribers 实例时有效,但是如果我向服务容器提供参数,我的模拟不再适用。
$this->mock(\CS_REST_Subscribers::class, function (MockInterface $mockery) {
$mockery
->shouldReceive('add')
->once();
});
get_class(app()->make(\CS_REST_Subscribers::class)); // returns Mockery_2_CS_REST_Subscribers
get_class(app()->make(\CS_REST_Subscribers::class, [
'list_id' => 'testing',
'auth_details' => ['api_token' => '123']
])); // returns CS_REST_Subscribers
转储 1 给了我Mockery_2_CS_REST_Subscribers,但转储 2 给了我CS_REST_Subscribers。
知道如何在传递构造函数参数时应用模拟吗?我不禁觉得我在这里错过了一些东西......
【问题讨论】: