显然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添加的库的方式是什么?
答案 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';
}