функциональный тест, [PHPUnit Framework_Exception]: неопределенный индекс: config

Я пытаюсь запустить свой функциональный тест, и это сообщение об ошибке, которое я получаю

[PHPUnit_Framework_Exception] Неопределенный индекс: config в C:\wamp\www\test.qsims.com\tests\functional_bootstrap.php в строке 4**

Я пытаюсь разобрать URL-адрес в файле functions/_bootstrap.php. Код для следующего ниже

<?php
    define('DS', DIRECTORY_SEPARATOR);

    defined('YII_TEST_ENTRY_URL') or define('YII_TEST_ENTRY_URL', parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_PATH));
    defined('YII_TEST_ENTRY_FILE') or define('YII_TEST_ENTRY_FILE', dirname(dirname(__DIR__)) . '/web/index-test.php');

    // Define our application_env variable as provided by nginx/apache
    if (!defined('APPLICATION_ENV'))
    {
        if (getenv('APPLICATION_ENV') != false)
            define('APPLICATION_ENV', getenv('APPLICATION_ENV'));
        else 
        define('APPLICATION_ENV', 'dev');
    }
    $env = require(__DIR__ . '/../../config/env.php');
    // comment out the following two lines when deployed to production
    defined('YII_DEBUG') or define('YII_DEBUG', $env['debug']);
    defined('YII_ENV') or define('YII_ENV', APPLICATION_ENV);
    require(__DIR__ . '/../../vendor/autoload.php');
    require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');
    $config = require(__DIR__ . '/../../config/web.php');

    $_SERVER['SCRIPT_FILENAME'] = YII_TEST_ENTRY_FILE;
    $_SERVER['SCRIPT_NAME'] = YII_TEST_ENTRY_URL;
    $_SERVER['SERVER_NAME'] = parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_HOST);
    $_SERVER['SERVER_PORT'] =  parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_PORT) ?: '80';

    Yii::setAlias('@tests', dirname(__DIR__));

    (new yii\web\Application($config));

Когда я запускаю свой $ ./vendor/bin/codecept run. Я получаю вышеуказанную ошибку.

Таким образом, строка parse_url, то есть 4-я строка, нарушает код. Может ли кто-нибудь помочь мне в этом, пытаясь решить это за последние 6 часов или около того. Заранее спасибо

Codeception.yml

actor: Tester
#coverage:
#    #c3_url: http://localhost:8080/index-test.php/
#    enabled: true
#    #remote: true
#    #remote_config: '../tests/codeception.yml'
#    white_list:
#        include:
#            - ../models/*
#            - ../controllers/*
#            - ../commands/*
#            - ../mail/*
#    blacklist:
#        include:
#            - ../assets/*
#            - ../config/*
#            - ../runtime/*
#            - ../vendor/*
#            - ../views/*
#            - ../web/*
#            - ../tests/*
paths:
    tests: codeception
    log: codeception/_output
    data: codeception/_data
    helpers: codeception/_support
settings:
    bootstrap: _bootstrap.php
    suite_class: \PHPUnit_Framework_TestSuite
    memory_limit: 1024M
    log: true
    colors: true
config:
    # the entry script URL (with host info) for functional and acceptance tests
    # PLEASE ADJUST IT TO THE ACTUAL ENTRY SCRIPT URL
    test_entry_url: http://localhost:8080/index-test.php

functional.suite.yml

class_name: FunctionalTester
modules:
    enabled:
      - Filesystem
      - Yii2
    config:
        Yii2:
            configFile: 'codeception/config/functional.php'

person Mohan Prasad    schedule 22.06.2016    source источник
comment
Пожалуйста, добавьте свой файл codeception.yml к вашему вопросу, возможно, в нем отсутствует раздел конфигурации.   -  person Naktibalda    schedule 22.06.2016
comment
Я добавил файл codeception.yml @Naktibalda   -  person Mohan Prasad    schedule 22.06.2016
comment
это Codeception.yml или codeception.yml? Codeception читает только codeception.yml   -  person Naktibalda    schedule 22.06.2016
comment
это codeception.yml, извините за ошибку. Просто здесь ошибка типа, в коде его codeception.yml   -  person Mohan Prasad    schedule 22.06.2016
comment
Я не могу воспроизвести вашу проблему, у меня работает.   -  person Naktibalda    schedule 22.06.2016
comment
Вроде бы все правильно, но я не уверен, что вызывает эту проблему. В любом случае большое спасибо   -  person Mohan Prasad    schedule 22.06.2016


Ответы (1)


defined('YII_TEST_ENTRY_URL') or define('YII_TEST_ENTRY_URL', parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_PATH));

Измените приведенную выше строку на код, указанный ниже.

defined('YII_TEST_ENTRY_URL') or define('YII_TEST_ENTRY_URL', 'http://test.qsims.com/web/index-test.php');

По какой-то причине он не получал мою форму URL-адреса в форме codeception.yml, поэтому я жестко записал URL-адрес вместо parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_PATH))to фактического URL-адреса: 'http://test.qsims.com/web/index-test.php'

person Mohan Prasad    schedule 23.06.2016