我对单元测试很陌生。我被要求在我的应用程序中编写单元测试。在我的应用程序中,我们有控制器和服务。我试图像这样模拟从控制器调用的工作。
$this->expectsJobs(AppJobsUploadResponseEmail::class);
这将引发以下错误
生产。错误:Mockery\Exception\NoMatchingExpectationException:找不到 Mockery_0_Illuminate_Bus_Dispatcher::d ispatch(object(App\Jobs\UploadResponseEmail)) 的匹配处理程序。该方法是意外的,或者其参数与此方法的预期参数列表匹配
作业有一个需要参数的构造函数。我认为这会导致错误。如何在此处传递构造函数参数。知道吗?
如果您使用的是 lumen,则需要在 composer.json 文件中添加嘲弄。拉拉维尔默认有它,所以你的问题是关于流明而不是拉拉维尔
"mockery/mockery": "0.9.*",
即使从 Laravel 5.1 开始,它也在那里:https://github.com/laravel/laravel/blob/5.1/composer.json
在流明5.2中缺少它的地方:https://github.com/laravel/lumen/blob/v5.2.1/composer.json