Je ne parviens pas à POST des tableaux multidimensionnels dans mes tests Laravel. Tableaux à une dimension POST fin. Peut-être que je devrais utiliser une autre fonction en utilisant json_encode, mais je ne trouve rien pour supporter cela.Comment poster un tableau multidimensionnel dans un test de Laravel?
Il est important que je puisse poster la structure de données ci-dessous, j'ai ajouté dans mon assertion seeJSONStructure() pour mieux illustrer la structure de données.
Voici un exemple de mon test:
$this->json('POST', '/endpoint', [
'foo' => 'foo',
'bar' => [
[
'foo' => 'foo',
'bar' => 'bar'
]
]
])
->assertResponseStatus(200)
->seeJsonStructure([
'*' => [
'foo',
'bar' => [
'*' => [
'foo',
'bar'
]
]
]
]);
Cela me donne l'erreur
PHPUnit_Framework_Exception: Argument #2 (No Value) of PHPUnit_Framework_Assert::assertArrayHasKey() must be an array or ArrayAccess
Suppression du tableau imbriqué empêche l'erreur, mais il doit y avoir un moyen de POST tableaux multidimensionnels .
Les travaux ci-dessous bien:
$this->json('POST', '/endpoint', [
'foo' => 'foo',
'bar' => 'bar'
])
->assertResponseStatus(200)
Cochez cette case 'bar => 'bar' ajouter guillemet simple –
'' foo => 'foo',' et ' 'bar => 'bar'' Est-ce une faute de frappe? – Nawin
Désolé les guillemets simples manquants étaient une faute de frappe dans mon exemple et pas le vrai problème – Elliot