Liberada la versión 5.5.20 de Laravel.
Laravel v5.5.20 fue marcada ayer con algunas test assertions, actualizaciones en route y precisión a Blueprint time. Muchos cambios y arreglo de muchos errores fueron mezclados también, vea la versión completa de la versión para más detalles.
Entre las nuevas características, algunos métodosTestResponse
fueron añadidos para conveniencia en torno a la validación y aseveración de las respuestas JSON.
El método assertJsonMissingExact(),
relacionado co el método assertJsonMissingExact(),
falla cuando todos los atributos JSON existen en la respuesta.
Por ejemplo, la siguiente aseveración fallará porque el atributo created se encuentra en la respuesta, incluso a pesar de que la aseveración es claramente para un registro diferente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { "data": [ { "name": "Example User", "created": "2017-11-07" } ] } // Fails because the `created` attribute matches $response->assertJsonMissing([ 'name' => 'Missing User', 'created' => '2017-11-07' ]); |
El método assertJsonMissingExact()
puede ayudar en este escenario:
1 2 3 4 5 | // Passes because not ALL attributes are a match $response->assertJsonMissingExact([ 'name' => 'Missing User', 'created' => '2017-11-07' ]); |
El métodoassertValidationErrors()
ayuda a asegurar que las claves proporcionadas están en la clave errors
de una respuesta JSON con validación de errores:
1 | $response->assertValidationErrors(['firstName', 'lastName']); |
El métodoassertJsonCount()
puede ayudarle a asegurar cuantos elementos existen en una matriz JSON:
1 2 3 4 5 6 7 8 | { "data": [ {"name": "Example User", "email": "user@example.com"}, {"name": "Example User 2", "email": "user2@example.com"} ] } $response->assertJsonCount(2, 'data'); |
El métodoRoute::middleware
ahora admite varios argumentos:
1 2 3 4 | Route::middleware(Middleware::class, Middleware2::class) ->get('one', function () { return 'Hello World'; }); |
He aquí la lista completa de añadidos, cambios y arreglos:
Añadidos
- Añadido
TestResponse::assertJsonMissingExact()
(#21881) - Añadido
assertValidationErrors()
yassertJsonCount()
aTestResponse
(#21917) - Añadido
allOnQueue()
yallOnConnection()
para encadenamiento de trabajos (#21765) - Variado soporte de argumentos en el método
Route::middleware()
(#21930) - Añadida precisión a
Blueprint::time()
(#21936) - Añadido el método
Router::apiResources()
(#21956) - Soporte para el manejo elegante de
SIGTERM
en los trabajadores de cola (#21964)
Cambios
- Agregado “kin” como una palabra incontable (#21843)
- Mejorado el soporte geo espacial (#21919)
- Incuído el nombre del trabnajo en
MaxAttemptsExcededException
(#21941, #21943) - Suporte para el renderizado de multiples bloques
@verbatim
y@php
(#21900) - Movido
InteractsWithRedis
aIlluminate\Foundation\Testing
(#21967) - No asocia una macro cuando esta no es una función anónima
(Closure)
(#21980) - Comprobación para el método
before()
en la clase de políticas (#21989) - Detección de conexiones pgbouncer perdidas (#21988)
Correcciones
- Se corrigió el error del namespace
BroadcastController
(#21844) - Se corrigió eager loading en relaciones
HasManyThrough
con with clave intermedia y clave intermedia personalizada (#21902) - Usar alias de tablas cuando llamas a una relación
HasManyThrough
autoreferenciada (#21883) - Se corrigió el nombre del archivo del componente Vue presente en React (#21945)
- Cambos revertidos a
BadMethodException
in #20196 (#21929)