我想模仿Config::get('specific_key')
在我的测试中返回'specific_value'
。所以我写了下面的代码:
Config::shouldReceive('get')
->with('specific_key')
->andReturn('specific_value');
Config::makePartial();
这样可行:如果我添加dd(Config::get('specific_key'))
,我会收到'specific_value'
。
但是,如果我做dd(Config::get('another_key'))
,我就不会收到任何价值(我猜是因为模拟并不期望这个密钥作为参数)。
所以我的问题是:有没有办法模拟Config的get()方法只返回特定键的特定值(并从配置文件返回任何其他键的正常值)?
答案 0 :(得分:3)
您不必模拟Config,您可以使用Config::set()
在Config中设置任何值。因此,测试Config::set('specific_key', 'specific_value');
而非创建模拟应该可以正常工作