1

Behat で動作するように Mink を正常に構成する方法を知っている人はいますか? 知らない人のために説明すると、Behat は PHP 用の BDD (Behaviour-Driven Development) フレームワークであり、Mink はテスト用のブラウザー エミュレーターの抽象化レイヤーを提供します。

Behat の詳細については、http://behat.org/ を Mink の詳細については、 https://github.com/Behat/Minkまたはhttp://www.knplabs.com/fr/blog/one-mink-toを参照してください。 -すべてを支配する

基本的に、http: //www.knplabs.com/fr/blog/one-mink-to-rule-them-all の指示に従って、Mink が Behat と連携するように設定しました。Mink フォルダーではなく Behat フォルダー内にある私のbehat.ymlは次のとおりです。

default:
  paths:
    features:               %%BEHAT_CONFIG_PATH%%/features
    formatter:
    name:                   progress
pretty:
  formatter:
    name:                   pretty
    parameters:
      multiline_arguments:  false
default:
    environment:
        parameters:
            start_url: http://localhost/
imports:
    - mink/behat.yml

features/support/boostrap.phpには次のコードもあります

require_once 'mink/autoload.php';

ただし、features/support/env.phpに次のコードがあります。

$world->client = new \Goutte\Client;

behat コマンドを使用すると、PHP Fatal error: Class 'Goutte\Client' not found in terminal(OSX) が表示されます。これは、 behat/Mink/Vendor/Goutteフォルダー内にgoutte.pharがある場合でも発生します。

誰かが私がどこで間違ったのかを教えてくれることを願っています.質問に私がそれについて明確ではない部分があった場合は、私に知らせてください. どうもありがとう。

4

1 に答える 1

1

ここにあります: https://github.com/knplabs/mink-demo ;-)

基本的に、Mink では、Goutte クライアントを作成または要求する必要はありません。Mink によって自動的に行われます。$world も拡張され、ステップ定義内でミンク セッションを取得できるようになりました。

$downloadsLink = $world->getSession()->getPage()->findLink('downloads');

また、PHPUnit を含めるのを忘れていました。

素晴らしい例については、mink-demo を参照してください ;-)

于 2011-06-02T15:54:11.460 に答える