dtsc14683 2016-06-03 16:32
浏览 124

将Laravel Input属性注入Mockery会话对象

I'm working on an existing Laravel app and trying to start building out a test suite for it. I'm using the Mockery library to mock the dependencies of the class I'm testing but I've hit a roadblock I can't seem to get around.

$leadRepositoryInterface = m::mock('CRM\Storage\Lead\LeadRepositoryInterface');
$response = m::mock('ColorJar\ApiResponse\Response');

$object = new LeadsController($leadRepositoryInterface, $response);

I get an error when I run the preceding code because the parent class of LeadsController checks Input::all()[__currentUser] and crashes because Input::all() returns nothing.

I need to set the Laravel Input facade variable(I'm sure I'm misusing terminology there, sorry) to any user in my system but I don't see anywhere in the Mockery docs on how to set a property of a mocked object, I only see how to set expectations and return values. How would I do this? Will Laravel allow me to set the return of Input::all()?

  • 写回答

1条回答 默认 最新

  • dragon012100 2016-06-10 07:59
    关注

    You can't mock the response from the Input facade but you can mock the underlying class which is Request. You would then do something like this:

    Request::shouldReceive('input->all')->andReturn('someValue');
    
    评论

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀