ลองนึกภาพสถานการณ์ที่ฉันมีลูกค้าจริงซึ่งฉันต้องการใช้ในการทดสอบหน่วยผู้บริโภค และลูกค้ารายนี้ส่งคำขอสองครั้งในเบื้องหลัง
ชอบ:
$service = new \TestClient($config->getBaseUri());
$serviceResponse = $service->getUserDataById(1);
และเมธอด getUserDataById
กำลังส่งการเรียกสองครั้งไปยังผู้ให้บริการก่อนที่จะส่งคืนข้อมูลผู้ใช้
GET someprovider/v1/username/{id}
GET someprovider/v1/email/{id}
และถ้าฉันต้องการใช้ไคลเอ็นต์นี้ในการทดสอบหน่วย ฉันจำเป็นต้องจำลองจุดปลายทั้งสอง
จะทำอย่างไรในการโต้ตอบครั้งเดียว? ตัวอย่างที่มีการตอบกลับของผู้บริโภครายหนึ่ง https://github.com/mattermack/pact-php-example/blob/master/example-one/test/ExampleOneMeetupAPIClientTest.php