Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php AWS Laravel单元测试-请求中包含的安全令牌无效_Php_Laravel_Amazon Web Services_Phpunit_Amazon Cloudfront - Fatal编程技术网

Php AWS Laravel单元测试-请求中包含的安全令牌无效

Php AWS Laravel单元测试-请求中包含的安全令牌无效,php,laravel,amazon-web-services,phpunit,amazon-cloudfront,Php,Laravel,Amazon Web Services,Phpunit,Amazon Cloudfront,我正在使用phpunit对我的AWS Cloudfront代码进行单元测试,如果我没有在命令行中测试代码,我的代码工作得非常好。但是,如果我在命令行中测试它,我会得到以下错误:请求中包含的安全令牌无效。我在某个地方读到需要处理的内容,但我似乎无法使其工作 这是我的密码: $this->instance(CloudFrontService::class, \Mockery::mock(CloudFrontService::class, function ($mock) { $mock

我正在使用
phpunit
对我的AWS Cloudfront代码进行单元测试,如果我没有在命令行中测试代码,我的代码工作得非常好。但是,如果我在命令行中测试它,我会得到以下错误:
请求中包含的安全令牌无效。
我在某个地方读到需要处理的内容,但我似乎无法使其工作

这是我的密码:

$this->instance(CloudFrontService::class, \Mockery::mock(CloudFrontService::class, function ($mock) {
    $mock->shouldReceive('invalidate')->with("test.txt")->once();
}));

$r = app(CloudFrontService::class)->invalidate("test.txt");

$this->assertTrue($r);

非常感谢您的指导。谢谢大家!

在模拟方法链上缺少一个
returns
方法,请尝试添加如下内容:
->once()->andReturns(true)
@DigitalDriver它仍然不工作,我得到了这个错误:
Mockry\Exception\InvalidCountException:MethodInvalidate('test.txt'),应该调用mockry\u 0\uxxx\u Services2\u CloudFrontService│  正好1次,但调用了0次。
听起来好像解决了您的第一个错误,并显示了另一个错误:)如果您将链接方法重新排序为:
$mock->shouldReceive('invalidate')->once()->with(“test.txt”)->andReturn(true),会有什么区别吗?@DigitalDriver抱歉,它仍然不工作:)