如何在Composer添加的Behat项目中包含库/ API?

时间:2014-08-13 15:15:06

标签: php composer-php behat

显然version 4 of PHPUnit now uses Composer自动加载,这意味着在Behat版本2中包含PHPUnit的常用方法:

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

不起作用。我希望我的Behat文件夹中的/vendor/autoload.php会包含它,但似乎并非如此。

我想我要问的是,我可以将一般库中包含由Composer添加的库的方式是什么?

1 个答案:

答案 0 :(得分:4)

您可以成功使用默认/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/"
        }
    }
}

您可以将它包含在您的上下文钩子中(尽管这是Behat 3示例):

/**
 * @beforeSuite
 */
public static function setUpSuite()
{
    require_once './vendor/autoload.php';
}