显然PHPUnit第4版现在使用Composer来自动加载,这意味着在Behat第2版中包含PHPUnit的通常方法:
require_once 'PHPUnit/Autoload.php';
require_once 'PHPUnit/Framework/Assert/Functions.php';
是行不通的。我希望/vendor/autoload.php
在我的行为文件夹将包括它,但它似乎不是这样的。
我想我要问的是,我可以在我的代码中包含由Composer添加的库的一般方式是什么?
您可以成功地使用默认的/vendor/autoload.php
来加载库和代码。如果没有进一步的细节,很难确切地说什么可能是错误的,但确保您的编写器依赖项更新,然后只需需要编写器的authoload.php
。作曲家。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';
}