Я довольно новичок в PHP. Меня попросили преобразовать некоторые из моих тестов с Java на PHP, чтобы соответствовать тому, что спрашивает клиент.PHP с использованием клиента Guzzler между методами
Итак, я начал с базовых тестов (API) и решил использовать Гузслера и Бехата, чтобы облегчить ситуацию. Проблема в том, что я не могу использовать один и тот же клиент для всех своих тестов, что, скорее всего, связано с тем, что я не знаю, что я делаю в PHP.
Вот фрагмент, который я пытаясь получить работу:
<?php
use Behat\Behat\Context\Context;
use Behat\Testwork\Hook\Scope\BeforeSuiteScope;
use GuzzleHttp\Client;
class FeatureContext implements Context
{
/**
* @BeforeSuite
*/
public static function prepare(BeforeSuiteScope $scope)
{
// Setup of Guzzle for API calls
$client = new Client(['base_uri' => 'http://test.stxgrp.com.ar']);
}
/**
* @Then the response status code should be :arg1
*/
public function theResponseStatusCodeShouldBe($arg1)
{
//Going to make an assert
}
/**
* @When /^I issue a GET request at url (.*)\/(.*)$/
*/
public function iIssueAGETRequestAtUrl1($PROVIDER_NAME, $PROVIDER_PLACE_ID)
{
$response = $client->request('GET', '$PROVIDER_NAME.$PROVIDER_PLACE_ID');
}
}
проблема у меня в том, что внутри метода iIssueA ...., переменная $ клиент не признается (я должен использовать тот же самый клиент, который устанавливается в подготовить функцию).
Вы пытались иметь клиента как переменную класса? и назовите его с помощью $ this-> client – lauda
Я думаю, что [Тестирование базового API symfony для аутентификации с помощью behat3] (http://www.inanzzz.com/index.php/post/l41o/testing-a-basic-auth-symfony -api-with-behat3), [Api-запрос для тестирования ответов с behate v2 включает json, xml, html и cli] (http://www.inanzzz.com/index.php/post/ajqn/api-request-response- test-with-behat-v2-includes-json-xml-html-and-cli) и [Api-запрос отклика на запрос с behate v1] (http://www.inanzzz.com/index.php/post/xw1v/api -request-response-testing-with-behat-v1) было бы полезно для вас. – BentCoder