[英]Laravel: $request->all() gives empty array when called with json xhr
[英]$request->all() in laravel returns empty when called from phpunit
我正在尝试在Laravel中编写phpunit测试用例,问题是功能正常运行,但是当我尝试通过phpunit访问时,$ request-> all()总是返回空。
$request->request->add(['testId' => 1]);
这称为使用
$request->all();
在Laravel应用程序中调用时,此操作将按预期方式工作并提供数据。 但是,当使用phpunit通过终端调用它时,它总是返回空数组。 但是它返回数据,如果调用为
$request->request->all();
请让我知道如何解决。 使用的Laravel版本是Laravel Framework 5.6.24
我在Phpunit测试文件中手动创建一个请求,如下所示:
use Illuminate\Http\Request as Request;
$request = new Request();
测试类别:
use Tests\TestCase;
use App\Http\Middleware\Authenticate;
class BasicTest extends TestCase
{
public function testMyfunc()
{
$request = new Request();
$request->setMethod('GET');
$request->headers->set('key','value');
$request->request->add(['testId' => 1]);
print_r($request->all()); //This is returning empty array always
print_r($request->request->all()); //This returns correct data
//But I need to get the GET params when I call $request->all()
}
}
您要将数据添加到QUERY!
$request->query->add(['testId' => 1]);
它仅以这种方式对我有用...除了
$request->request->replace(['testId' => 1]);
但是最后一行适用于其他重新请求,因此即使没有它也可以正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.