douyi3767 2015-05-18 13:00 采纳率: 0%
浏览 33

单元测试Guzzle服务描述

I am having trouble testing Guzzle Service Description:

http://guzzle3.readthedocs.org/webservice-client/guzzle-service-descriptions.html

I was trying to follow this guide:

http://docs.guzzlephp.org/en/latest/testing.html

A created an abstract TestCase:

use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
use MyNamespace\ClientFactory;
use MyNamespace\Client;
use GuzzleHttp\Subscriber\Mock;
use GuzzleHttp\Message\Response;
use GuzzleHttp\Stream\Stream;

class AbstractTestCase extends WebTestCase
{

    protected $client;
    protected $container;

    public function setUp()
    {
        $factory = new ClientFactory(
            new \GuzzleHttp\Client(),
            'baseUrl',
            []
        );
        $this->client = $factory->create();
        $this->container = static::createClient()->getContainer();
    }

    protected function setMock($status, $body,
        array $headers = ['Content-Type' => 'application/json'])
    {
        $mock = new Mock([
            new Response($status, $headers, Stream::factory($body))
        ]);
        $this->client->getEmitter()->attach($mock);
    }
}

And my test:

class ClientTest extends \AbstractTestCase
{
    public function testGetBasket()
    {
        $this->setMock(200, '{"Basket": {"foo": "bar"}}');

        $response = $this->client->getBasket([
            'sessionId' => 'sessionId',
            'storeId' => 123,
            'transactionId' => 123
        ]);
    }
}

The code fails with:

Caused by
GuzzleHttp\Ring\Exception\ConnectException: cURL error 6: Could not resolve host: brestrictions

I am mocking the client responses according to Guzzle documentation but it doesn't seem to work for service descriptions.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 Vue3 大型图片数据拖动排序
    • ¥15 划分vlan后不通了
    • ¥15 GDI处理通道视频时总是带有白色锯齿
    • ¥20 用雷电模拟器安装百达屋apk一直闪退
    • ¥15 算能科技20240506咨询(拒绝大模型回答)
    • ¥15 自适应 AR 模型 参数估计Matlab程序
    • ¥100 角动量包络面如何用MATLAB绘制
    • ¥15 merge函数占用内存过大
    • ¥15 使用EMD去噪处理RML2016数据集时候的原理
    • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大