API สำหรับ "ซอฟต์แวร์เพื่อจำลองการตอบสนองของบุคคลที่สาม" เพื่อรวมไว้ในการทดสอบ API ของแอปพลิเคชันของคุณ
หากต้องการส่งต่อคำขอไปยัง API จำลองโดยอัตโนมัติ มีความเป็นไปได้ที่จะใช้ HandlerStack
สำหรับ Guzzle
HandlerStack
จะตรวจสอบว่าคำขอได้รับการบันทึกแล้วหรือไม่ และหากไม่เป็นเช่นนั้น คำขอจะถูกส่งไปยังโฮสต์ที่ถูกต้อง จากนั้นการตอบสนองจะถูกแคช เพื่อให้ครั้งต่อไปที่คำขอจะถูกส่งไปยังการจำลอง API และการตอบกลับที่แคชไว้ จะถูกส่งกลับ
<?php//...$apiMockClient = ใหม่ GuzzleHttpClient([/*...*/]);$apiMock = ใหม่ ApiMockCoreApiMock($apiMockClient);$proxyStack = ใหม่ ApiMockProxyProxyStack($apiMock);$myDefaultClient = ใหม่ GuzzleHttpClient ([/*...*/'handler' => $proxyStack, ]);// จะถูกส่งเทียบกับ example.org$myDefaultClient->get('https://example.org', []);// จะถูกส่งเทียบกับ API Mock$myDefaultClient->get('https:/ /example.org', []);
ApiMock::getClientRequest()
ได้รับ 404/null A) คำขอที่เป็นปัญหาไม่เคยถูกเรียกโดยแอปพลิเคชันของคุณ ดังนั้นคำขอที่มี requestKey จึงไม่เคยถูกบันทึก ตรวจสอบให้แน่ใจว่า ApiMock::addResponse()
อยู่ในลำดับที่ถูกต้อง บางทีคำตอบก่อนหน้านี้ไม่ตรงกับความคาดหวังของแอปพลิเคชันของคุณและทำให้ล้มเหลว
B) คำขอของคุณไปยัง API Mock ใช้เซสชันคีย์ที่แตกต่างกัน (หรือไม่มีเลย) ตัวอย่างเช่น สิ่งนี้สามารถเกิดขึ้นได้หากบางส่วนของแอปพลิเคชันของคุณทำงานไม่พร้อมกัน (เช่น ในคิว) ใช้คุณลักษณะ $sessionCacheFile เพื่อดึงข้อมูลคีย์เซสชันที่ถูกต้อง (ระบุเส้นทางของไฟล์ที่ API Mock สามารถดัมพ์คีย์เซสชันที่ใช้อยู่ในปัจจุบันแล้วดึงข้อมูลในแอปพลิเคชันของคุณ)