PHPUnit で Bahat を使用できることは間違いありません。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/を使用してください。それらには、最新の必需品といくつかの適切な例が含まれています。