【发布时间】:2016-10-03 19:36:18
【问题描述】:
我正在开发一个现有的 Laravel 应用程序,并试图开始为它构建一个测试套件。我正在使用 Mockery 库来模拟我正在测试的类的依赖关系,但我遇到了一个似乎无法绕过的障碍。
$leadRepositoryInterface = m::mock('CRM\Storage\Lead\LeadRepositoryInterface');
$response = m::mock('ColorJar\ApiResponse\Response');
$object = new LeadsController($leadRepositoryInterface, $response);
运行上述代码时出现错误,因为 LeadsController 的父类检查 Input::all()[__currentUser] 并崩溃,因为 Input::all() 没有返回任何内容。
我需要为我系统中的任何用户设置 Laravel Input 外观变量(我确定我在那里误用了术语,抱歉),但我在 Mockery 文档中没有看到关于如何设置属性的任何地方一个模拟对象,我只看到如何设置期望和返回值。我该怎么做? Laravel 是否允许我设置 Input::all() 的返回值?
【问题讨论】:
标签: php laravel phpunit mockery