在Laravel 4单元测试中,如何在请求中设置cookie? - php

在我的Laravel 4应用程序中,我希望测试特定端点是否检测到请求中的cookie并对其做出正确响应。因此,在我的单元测试中,我希望在请求中设置一个cookie,然后对响应执行标准断言。

我在单元测试中的电话的格式为:

$response = $this->client->request($method, $endpoint, $params, $files, $server);

我在其中为$method$endpoint$params和空的$files$server指定了正确的值。

我尝试了许多变体,将cookie值放置在$params$server内的各种键下,但是到目前为止,看到cookie显示在Cookie:get('myname)下的控制器中还算是幸运的。

如何在单元测试的请求中设置名称为“ myname”且值为“ myvalue”的cookie?

更新:

我想我可以简单地向请求添加标头:

Cookie: myname=myvalue

但我必须相信,还有一种更像Laravel的方式。

更新2:

上面没有用。

参考方案

看起来我们可以在扩展Illuminate\Foundation\Testing\TestCase的测试中执行以下操作:

$this->client->getCookieJar()->set(
    new \Symfony\Component\BrowserKit\Cookie('myname', 'myvalue')
);

然后,该Cookie将通过标准在控制器中公开:

$cookie = Cookie::get('myname'); // $cookie gets 'myvalue'

(通过Laravel.io)

在laravel 5中的静态函数中调用非静态函数 - php

我正在使用laravel5。在模型中,我有一个静态函数,该函数在控制器中调用。它工作正常,但是我想在此函数中使用另一个非静态函数进行相同的更改,当我在静态函数中调用它时会产生错误。Non-static method App\Models\Course::_check_existing_course() should not be called statica…

Laravel Blade模板尝试获取非对象的属性时如何返回null而不是ErrorException - php

我正在编写一些Laravel Blade模板,并且我的模型可能包含空对象。我非常想尝试获取对象属性,如果有错误,则返回null。因此,不必编写以下代码:@if ($model->child_object_that_may_be_null) {{ $model->child_object_that_may_be_null->interesti…

Laravel-无需登录即可认证用户 - php

在laravel 5.4中,可以在不登录用户的情况下对用户进行身份验证吗?从laravel doc中,我能找到的最接近的东西是:Auth::once($credentials) 但这仍然使该用户感到厌烦。我需要做的就是只是知道使用该电子邮件和密码的用户是否存在。 参考方案 您可以将Auth::attempt函数与第三个参数用作false进行登录 $email…

Laravel 5错误报告抑制 - php

在Laravel 4中,抑制E_NOTICE消息很容易;我似乎无法做到这一点,因为如果我添加error_reporting(E_ALL ^ E_NOTICE) 它只是被覆盖的任何地方。这似乎发生在这里:(index.php)$response = $kernel->handle( $request = Illuminate\Http\Request::…

Laravel 5排序具有关系的雄辩模型 - php

我有一个要基于关系属性进行排序的模型。主模型Resultado具有类型respondente的关系belongsTo,而respondente具有关系usuario。我想获取具有这些关系的Resultado并按usuario name属性(列)对结果进行排序。我试过了$resultados = Diagnostico\Resultado::with(…