Ниже приведен код, который я использую, чтобы издеваться над ответом 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.