[英]How to mock Cache::remember in Laravel
在单元测试方法中,我试图像这样模拟一个Cache::remember
响应:
Cache::shouldReceive('remember')
->once()
->with('my_key', 120, function() {}) // There are 3 args in remember method
->andReturn([]);
但我得到这个错误:
异常'Mockery \\ Exception \\ NoMatchingExpectationException',消息'找不到Mockery_0_Illuminate_Cache_CacheManager :: remember(“my_key”,120,object(Closure))的匹配处理程序。 方法是意外的或其参数与此方法的预期参数列表不匹配
我不明白为什么我得到这个错误,并没有在Laravel文档中找到任何关于此的内容。 它说没有匹配,但它似乎匹配。
我如何模拟Cache::remember
响应?
更换的第三个参数with
方法\\Closure::class
匹配任何关闭。
Cache::shouldReceive('remember')
->once()
->with('my_key', 120, \Closure::class)
->andReturn([]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.