0

Behat と Mink のバンドルをテストしようとしていますが、問題があります

  • バンドルをうまくインストールしました

  • 立ち上げました: php app / console test-e = Behat - init @ AcmeDemoBundle で Features フォルダが作成されました

  • essai.featureにシナリオを書きました

  • 私は立ち上げました: php app / console test-e @ Behat AcmeDemoBundle, 私はこの結果を得ました

機能: テスト テストするには、開発者として連絡フォームを送信できる必要があります

シナリオ: ウェルカム ページ # src \ Acme \ DemoBundle \ Features \ >essai.feature: 6 に移動します。

シナリオ 1 (1 未定義) 1 ステップ (1 未定義) 0m0.243s

スニペットの論文を使用して、未定義のステップのステップ定義を実装できます。

     / ** * @ Given / ^ I am on "([^"] *) "$ / * / public function iAmOn ($ argument1) { throw new PendingException (); }

  • 定義を実装しようとすると、php app / console test-e @ Behat AcmeDemoBundle -dl を起動しました

しかし、私はまったく何も得ません!何も実行されず、ファイル FeatureContext は変更されません

解決策を見つけるのを手伝ってください

4

2 に答える 2

1

Behat にメイン コンテキスト ファイルの場所を指定していないようです。behat 構成ファイルに FeatureContext.php を明示的にロードする必要があります。

# config/behat.yml
default:
autoload: [ %paths.base%/../features/bootstrap ]
suites:
  default:
      paths: [ %paths.base%/../features ]
      filters:
      contexts:
          - FeatureContext

または、デフォルトで Behat が検索する正確な場所に FeatureContext.php を配置します。Behat ドキュメントの「コンテキスト クラスの要件」セクションから:

コンテキスト クラスは、Behat によって検出およびロード可能である必要があります。つまり、Behat にクラス ファイルについて何らかの方法で通知する必要があります。Behat にはすぐに使用できる PSR-0 オートローダーが付属しており、デフォルトのオートローディング ディレクトリは features/bootstrap です。そのため、デフォルトの FeatureContext は Behat によって非常に簡単に読み込まれます。PSR-0 規則に従って独自のクラスを features/bootstrap の下に配置することも、behat.yml を介して独自のカスタム自動読み込みフォルダーを定義することもできます。

于 2015-07-21T18:01:52.457 に答える
0

ステップ定義にエラーがある場合、これらの「何も起こらない」シナリオのいずれかが発生する可能性があります。実装を開始する前に、コンソール出力から新しいステップ定義をコピーし、FeatureContext に貼り付けることをお勧めします。

于 2013-01-08T03:17:36.787 に答える