您当然可以将 Bahat 与 PHPUnit 一起使用。我没有尝试使用 PHPSpec,但我敢肯定,如果您可以访问执行断言的逻辑,这是可能的。通常,任何测试框架都会为“外部用户”公开该逻辑。
/**
* @Then /^the magic should happen$/
*/
public function assertUnicornsExist()
{
// Make standard assertions through static calls…
PHPUnit_Framework_TestCase::assertTrue(true);
}
不确定我是否了解安装的全貌,但如果您使用的是作曲家,您可以简单地配置“自动加载”部分以包含您的源和上下文(如果它们是分开的)。我的工作几乎是开箱即用的:
{
"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",
"phpunit/dbunit": "*"
},
"autoload": {
"psr-0": {
"": "src/"
}
}
}
然后你只需包括vendor/autoload.php
. 我建议添加一个使用@BeforeSuite
钩子运行一次的引导程序。
/**
* @BeforeSuite
*/
public static function setUpSuite(BeforeSuiteScope $scope)
{
// if not bootstrapped already, then include bootstrap with init'ing the autoloader, etc…
}
此外,如果您从 Behat 3 开始——文档还没有,请使用http://behat.readthedocs.org/en/latest/。它们包含最新的必需品和一些不错的例子。