codecamp

Laravel 8 注入请求

在伪造响应时,你可能希望检查客户端收到的请求,以确保你的应用发送了正确的数据或请求头。你可以在调用 Http::fake 方法后调用 Http::assertSent 来完成该操作。
assertSent 方法接受一个回调,该回调将接受一个 Illuminate\Http\Client\Request 实例,并返回一个布尔值。该值用于确认该响应是否符合你的期望。为了使测试通过,必须至少发出一个与给定期望相符的请求:

Http::fake();

Http::withHeaders([
    'X-First' => 'foo',
])->post('http://test.com/users', [
    'name' => 'Taylor',
    'role' => 'Developer',
]);

Http::assertSent(function ($request) {
    return $request->hasHeader('X-First', 'foo') &&
           $request->url() == 'http://test.com/users' &&
           $request['name'] == 'Taylor' &&
           $request['role'] == 'Developer';
}); 

如有需要,你可以使用 assertNotSent 方法断言未被发送的请求:

Http::fake();

Http::post('http://test.com/users', [
    'name' => 'Taylor',
    'role' => 'Developer',
]);

Http::assertNotSent(function (Request $request) {
    return $request->url() === 'http://test.com/posts';
}); 

也可以使用 assertNothingSent 方法断言空的请求:

Http::fake();

Http::assertNothingSent(); 
Laravel 8 虚拟回调
Laravel 8 邮件发送
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Laravel 8 入门指南

Laravel 8 基础功能

Laravel 8 前端开发

Laravel 8 安全相关

Laravel 8 综合话题

数据库

Eloquent ORM

测试相关

官方拓展包

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }