Laravel 9.13版本发布
Laravel 团队发布了 9.13,其中包含 value() 收集方法、新的测试响应助手、数组映射便利方法等等:
发行说明
您可以在下面查看新功能和更新的完整列表,以及 GitHub 上 9.12.0 和 9.13.0 之间的差异。
以下发行说明直接来自变更日志:
https://github.com/laravel/framework/compare/v9.12.0...v9.13.0
https://github.com/laravel/framework/blob/c73253e51a3365a93eed0fb745f51771b89aa53c/CHANGELOG.md#v9130---2022-05-17
添加 value() 收集方法
Steve Bauman 为 Collection 类贡献了一个 value() 方法,
该方法从集合中的第一个匹配项中获取单个键的值:
$c = new $collection([
['id' => 1, 'name' => 'Hello'],
['id' => 2, 'name' => 'World']
]);
$this->assertEquals('Hello', $c->value('name'));
$this->assertEquals('World', $c->where('id', 2)->value('name'));
断言 JSON 缺失路径测试响应助手
Danilo Polani 为 TestResponse 类贡献了一个 assertJsonMissingPath 方法。
以下是拉取请求中的一些示例:
$this->getJson('/users/1')
->assertOk()
->assertJsonMissingPath('email'); // Never return the user email
$this->getJson('/articles')
->assertOk()
->assertJsonMissingPath('data.0.internalTags');
在通知假的测试中断言计数
@Chrysanthos 为 Notification 假类贡献了一个 assertCount 方法。
此方法的用例是断言在测试中发送了给定数量的通知:
Notification::fake();
// Assert four notifications were sent
Notification::assertCount(4);
测试响应 collect() 方法
Ilya Borisov 为 TestResponse 类提供了一个 collect() 方法,
以将响应的 JSON 解码主体作为集合获取:
// Get the whole test response as a collection
$response->collect();
/*
Given the following array of data for a JSON response
[
'foo' => ['foobar_foo' => 'foo', 'foobar_bar' => 'bar'],
...
];
*/
// Returns a collection instance with:
// ['foobar_foo' => 'foo', 'foobar_bar' => 'bar']
$response->collect('foo')
数组 map() 方法
Daniel Eckermann 贡献了一个 Arr::map() 方法:
// Arr::map() example
$data = ['first' => 'taylor', 'last' => 'otwell'];
$mapped = Arr::map($data, function ($value, $key) {
return $key.'-'.strrev($value);
});
v9.13.0
添加
添加了 Illuminate/Collections/Traits/EnumeratesValues::value() (#42257)
添加了新的 TestResponse 助手:assertJsonMissingPath (#42361)
添加了 Illuminate/Support/Testing/Fakes/NotificationFake::assertCount() (#42366)
添加了新的 DetectLostConnections (#42377, #42382)
添加了 Illuminate/Testing/TestResponse::collect() (#42384)
为 schedule:list 添加了完整的可调用支持 (#42400)
添加了 Illuminate/Collections/Arr::map() (#42398)
修复
修复了 PruneCommand 在其他特征中的使用 (#42350)
修复断言在没有消息的情况下抛出异常 (#42360)
改变了
跳过 HTTP 客户端中原始帖子正文的参数解析 (#42364)
验证规则之间的数字和数字之间的一致性 (#42358)
更正了 BatchedTableCommand 中使用“failed_jobs”而不是“job_batches”的问题 (#42389)
更新 email.blade.php (#42388)
移除旧的 monolog 1.x 兼容代码 (#42392)
SesTransport:使用正确的标签参数 (#42390)
实现对异常代码转发的稳健处理 (#42393)
转:
https://laravel-news.com/laravel-9-13-0
相关文章