मैं एक यूनिट टेस्ट बना रहा हूं और प्रतिक्रिया में लौटाई गई JSON
संरचना का परीक्षण करना चाहता हूं। मुझे पता है कि TestResponse
आपकी JSON
प्रतिक्रिया की संरचना से मेल खाने के लिए assertJsonStructure
विधि प्रदान करता है। लेकिन किसी कारण से मैं $structure
को मेरी प्रतिक्रिया में मैप करने में असमर्थ हूं और नतीजतन परीक्षण विफल रहता है। मुझे आवश्यक स्निपेट साझा करने दें।PhpUnit टेस्ट में जेसनस्ट्रक्चर मैच - लार्वेल 5.4
Endpoint रिस्पांस
{
"status": true,
"message": "",
"data": [
{
"id": 2,
"name": "Shanelle Goodwin",
"email": "[email protected]net",
"created_at": "2017-03-05 16:12:49",
"updated_at": "2017-03-05 16:12:49",
"user_id": 1
}
]
}
टेस्ट समारोह
public function testEndpoint(){
$response = $this->get('/api/manufacturer/read', [], $this->headers);
$response->assertStatus(200);
$response->assertJsonStructure([
'status',
'message',
'data' => [
{
'id',
'name',
'email',
'created_at',
'updated_at',
'user_id'
}
]
]);
var_dump("'/api/manufacturer/read' => Test Endpoint");
}
वहाँ कर सकते हैं data
सरणी में कई नोड्स इतना है कि मैं क्यों संरचना में सरणी का उल्लेख करने की कोशिश की लेकिन यह नहीं करता है 'लगता है टी सही ढंग से नक्शा। किसी भी मदद की सराहना की जाएगी :-)
बेहद उपयोगी! आधिकारिक दस्तावेज़ों में होना चाहिए। हमारे लिए इसे मछली पकड़ने के लिए धन्यवाद। –
मेरा नायक, धन्यवाद –
[कोड स्थानांतरित हो गया है] (https://github.com/laravel/framework/blob/5.4/src/Illuminate/Foundation/Testing/TestResponse.php#L363) –