Не предлагать с кодовым восприятием в IntelliJ 2019.1 - PullRequest
0 голосов
/ 16 апреля 2019

Я использую IntelliJ Ultimate 2019.1 с плагином PHP v191.6183.95 и плагином Codeception v191.5849.22 в Windows 10. Я настроил его на использование уровня языка PHP 7.1 с интерпретатором CLI PHP 7.1.4.Использовать Codeception версии 2.5.5.

Я установил Codeception с помощью composer, но поскольку использование этого исполняемого файла не помогло, я также загрузил codeception.phar.После этого я смог выполнить php vendor/bin/codecept bootstrap и php vendor/bin/codecept generate:suite api для настройки проекта тестирования API.

Когда я начал писать тесты, IntelliJ не предлагает функции для этого объекта "$ I":

<?php 

class GetUserInfoCest
{
    public function _before(ApiTester $I)
    {
    }

    // tests
    public function tryToTest(ApiTester $I)
    {
    }

    public function getUserInfoViaAPI(ApiTester $I)
    {
        $I->haveHttpHeader();
    }
}

Когда я поднимаюсь по дереву зависимостей с помощью Ctrl-> left_click, я нигде не вижу этих функций.

Как я могу заставить IntelliJ предлагать функции?

Обновление 1

Теперь это работает, мне пришлось добавить оба параметра.

$I->haveHttpHeader('Cookie', 'mein_muenchen_backend_session=XXXXXXXX');
$I->sendGET('/api/v1/lists/login/userinfo');
$I->seeResponseIsJson();

Однако я не понимаю, как я использую PhpBrowser (https://codeception.com/docs/modules/PhpBrowser) функции там. Например,Я использовал $I->setCookie(..., ...), но Codeception сказал Call to undefined method ApiTester::setCookie

Обновление 2

Теперь я понимаю, что я создал пакет с включенным REST, который использует PhpBrowser. Но когда я хочу использовать другие функцииPhpBrowser, я также должен включить его в файле yml пакета

actor: ApiTester
modules:
    enabled:
        - REST:
            url: https://<API's URL>/
            depends: PhpBrowser
        - PhpBrowser:
            url: https://<OAuth login URL>/
...