behat + minkをインストールしようとしています(symfonyではなくkohanaフレームワークで、behatをmodulesフォルダーに入れています-念のためこれを書いていますが、それが問題の原因ではないと思います)。
behat ドキュメントと同じ search.feature ファイルを使用しています。features/bootstrap クラスを次のように変更しています。
<?php
use Behat\Behat\Context\ClosuredContextInterface,
Behat\Behat\Context\TranslatedContextInterface,
Behat\Behat\Context\BehatContext,
Behat\Behat\Exception\PendingException;
use Behat\Gherkin\Node\PyStringNode,
Behat\Gherkin\Node\TableNode;
use Behat\MinkExtension\Context\MinkContext;
/**
* Features context.
*/
class FeatureContext extends MinkContext
{
}
そして、CLI で「behat」と入力すると、次のエラーが表示されます。行 80 の .....RawMinkContext.php の非オブジェクトでメンバー関数 getSession() を呼び出します。
このエラーの原因は behat.yml ファイルであることをどこかで読んだことがあります。インストールされた behat フォルダーのルートに新しい behat.yml ファイルを作成し、このコードを内部に配置するのが正しいと思います。
default:
extensions:
Behat\MinkExtension\Extension:
base_url: http://wikipedia.org
goutte: ~
selenium2: ~
paths:
features: features
bootstrap: features/bootstrap
annotations:
paths:
features: features/annotations
closures:
paths:
features: features/closures
しかしもちろん、同じエラーが発生します。私は多くの構成を試しました: 拡張部分のみをコピーし、デフォルトをコンテキストに変更し、同じコンテンツを他の 3 つの behat.yml ファイル (vendor/behat/behat、および vendor/behat/monk、および vendor/behat/monk) にコピーします。 -意図) - どれも機能しません。
誰かがこれを設定する正しい方法を教えてもらえますか? 多分ここにいる誰かがそれで問題を抱えていたのかもしれません...
ところで。goutte を使用せずに behat を selenium2 ドライバーのみでインストールすると、goutte がインストールされていないというエラーが発生しました。しかし、goutteでインストールすると、fabpot/goutteディレクトリ(またはfapbot/、覚えていませんが、最初のものだったと思います:D)がないというエラーが表示されたので、すべてを削除してbehatを再インストールしました次の composer.json ファイル、これもこのエラーに関係している可能性があります。
{
"name": "behat/mink-browserkit-driver",
"description": "Symfony2 BrowserKit driver for Mink framework",
"keywords": ["Symfony2", "testing", "browser"],
"homepage": "http://mink.behat.org/",
"type": "mink-driver",
"license": "MIT",
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "ever.zet@gmail.com",
"homepage": "http://everzet.com"
}
],
"require": {
"php": ">=5.3.1",
"symfony/browser-kit": ">=2.0.0,<2.2.0",
"symfony/dom-crawler": ">=2.0.0,<2.2.0",
"behat/behat": "2.4.*@stable",
"behat/mink": "1.4.*@stable",
"behat/mink-extension": "*",
"behat/mink-goutte-driver": "*",
"behat/mink-selenium2-driver": "*"
},
"minimum-stability": "dev",
"autoload": {
"psr-0": {
"Behat\\Mink\\Driver": "src/"
}
},
"config": {
"bin-dir": "bin/"
}
}