【问题标题】:I am trying to learn API testing through PhpUnit. I am not able to understand it's flow?我正在尝试通过 PhpUnit 学习 API 测试。我无法理解它的流程?
【发布时间】:2016-11-13 01:55:14
【问题描述】:

我遇到了以下代码,我只想问一些与该代码相关的问题,以便我可以编写自己的代码?

代码是

<?php

require('vendor/autoload.php');

class BooksTest extends PHPUnit_Framework_TestCase

{ protected $client;

protected function setUp()
{
    $this->client = new GuzzleHttp\Client([
        'base_uri' => 'http://mybookstore.com'
    ]);
}

public function testGet_ValidInput_BookObject()
{
    $response = $this->client->get('/books', [
        'query' => [
            'bookId' => 'hitchhikers-guide-to-the-galaxy'
        ]
    ]);

    $this->assertEquals(200, $response->getStatusCode());

    $data = json_decode($response->getBody(), true);

    $this->assertArrayHasKey('bookId', $data);
    $this->assertArrayHasKey('title', $data);
    $this->assertArrayHasKey('author', $data);
    $this->assertEquals(42, $data['price']);
}

}

我的问题是:

1> 'base_uri' => 'http://mybookstore.com' 是什么意思?

【问题讨论】:

  • 要是documented somewhere就好了。
  • 谢谢.......如果这是我的 uri link 那么我应该如何编写我的查询。

标签: php testing yii phpunit


【解决方案1】:

base_uri 是进行测试的 uri。在这种情况下http://bookstore.com。在您的函数 testGet_ValidInput_BookObject() 中,您使用 get'/books' 它将在 http://bookstore.com/books 中查找。

【讨论】:

  • 谢谢.......如果这是我的 uri link 那么我应该如何编写我的查询。
  • 我是否必须将每个参数作为查询传递,或者我可以传递 'query' =&gt; [ 'category' =&gt; 'SUPERHEROES' ]
  • 请告诉我如何同时测试多个 api。
  • 我认为您应该尝试查看 deceze 在后一条评论中提供的链接。
猜你喜欢
  • 2019-03-05
  • 2021-04-01
  • 2018-07-05
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
  • 2015-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多