ต่อไปนี้เป็นรหัสที่ฉันใช้เพื่อจำลองการตอบสนองของ XmlResponse::getResultCode
เช่น ตกลง
แต่มันใช้งานไม่ได้ ฉันไม่แน่ใจว่าเกิดอะไรขึ้นที่นี่:
$response = $this->createPartialMock('\CommerceGuys\AuthNet\Response\XmlResponse', ['getResultCode']);
$response->expects($this->any())->method('getResultCode')->will($this->returnValue('Ok'));
$client = $this->createMock('\GuzzleHttp\Client');
$client->expects($this->any())->method('request')->withAnyParameters()->will($this->returnValue($response));
$this->container->set('http_client', $client);
$clientFactory = $this->createMock('\Drupal\Core\Http\ClientFactory');
$clientFactory->expects($this->any())->method('fromOptions')->will($this->returnValue($client));
$this->container->set('http_client_factory', $clientFactory);
ฉันได้ลองแล้ว ทำนาย
ทาง แต่ก็ไม่ได้ผลเช่นกัน:
$response = $this->prophesize('\CommerceGuys\AuthNet\Response\XmlResponse');
$response->getResultCode()->willReturn('ตกลง');
เป้าหมายของฉันคือการเยาะเย้ยการตอบสนองของ XmlResponse::getResultCode
เพื่อส่งคืนสตริง ตกลง
.
ลองใช้วิธีการข้างต้นสำหรับไซต์ D8 ด้วย PHPUnit 7.5.20 โดยใช้ Kernal Testcase