【发布时间】:2018-10-23 01:20:22
【问题描述】:
我在服务提供者中注册了一个单例(在其构造函数中使用 Guzzle 客户端):
public function register()
{
$this->app->singleton(Channel::class, function ($app) {
return new ChannelClient(new Client([
'http_errors'=> false,
'timeout' => 10,
'connect_timeout' => 10
]));
});
}
我有一个验证方法:
public static function validateChannel($attribute, $value, $parameters, \Illuminate\Validation\Validator $validator)
{
$dataloader = app()->make(\App\Client\Channel::class);
if($dataloader->search($value)){
return true;
}
}
在 PHPUnit 测试中,如何将 app()->make(\App\Client\Channel::class); 替换为模拟的 Client 类,但仍要在测试中测试验证功能?
【问题讨论】:
标签: laravel validation phpunit