Как включить библиотеку/API в свой проект Behat, который был добавлен композитором?


По-видимому, версия 4 PHPUnit теперь использует Composer для автоматической загрузки, что означает, что обычные средства включения PHPUnit в версию 2:

require_once 'PHPUnit/Autoload.php';
require_once 'PHPUnit/Framework/Assert/Functions.php';

Не работает. Я надеялся, что /vendor/autoload.php в моей папке Behat включит его, но, похоже, это не так.

Я думаю, что я спрашиваю, каков общий способ, которым я могу включить в свой код библиотеку, добавленную композитором?

Author: njp, 2014-08-13

1 answers

Вы можете успешно использовать значение по умолчанию /vendor/autoload.php как для загрузки ваших библиотек, так и для вашего кода. Трудно точно сказать, что может быть не так без дополнительных подробностей, но убедитесь, что ваши зависимости композитора обновлены, а затем просто потребуйте authoload.php композитора. Файл composer.json должен выглядеть примерно так:

{
    "require": {
        "behat/behat": "dev-master",
        "behat/mink": "dev-master",
        "behat/mink-extension": "dev-master",
        "behat/mink-browserkit-driver": "dev-master",
        "behat/mink-goutte-driver": "dev-master",
        "behat/mink-selenium2-driver": "dev-master",
        "phpunit/dbunit": "*",
        "phpunit/phpunit": "*",
    },
    "autoload": {
        "psr-0": {
            "": "./src/"
        }
    }
}

Вы можете включить его в свой контекстный хук (хотя это пример 3):

/**
 * @beforeSuite
 */
public static function setUpSuite()
{
    require_once './vendor/autoload.php';
}
 4
Author: Ian Bytchek, 2014-08-13 18:08:15