5

Rails3 アプリケーションでカピバラとキュウリを使用しています。すべてがうまく機能しています。ただし、テストの仕組みがわかりません。

標準的なキュウリ機能テストがあるとしましょう。@selenium などは使っていません。プレーンなバニラテストです。今私が走るとき

bundle exec cucumber

そのレールサーバーはポートで起動しますか? はいの場合、ポート番号は何ですか? また、プレーンバニラの場合、カピバラはラックテストを使用します. ただし、rack-test はサーバーの実行を担当しません。そのため、全体がどのように機能するかについて、私はすべて混乱しています。キュウリが果たしている役割. Rack-test が行っているジョブと capybara が行っているジョブ。

記事へのリンクがある場合は、私と共有してください。物事がどのように連携しているかを本当に知りたいです。

4

1 に答える 1

5

これがどのように機能するかの最も深い詳細は本当にわかりませんが。しかし、私はあなたにいくつかの視点を提供するのに十分です.

Cucumber は Ruby の受け入れテスト フレームワークであり、平易な英語で受け入れを記述できます。現在、一般的に Webrat または Capybara の上に置かれ、その真の力、つまりシミュレーテッド ブラウザーまたは自動ブラウザー テストを提供しています。

Capybara または Webrat を使用すると、受け入れテストを簡単に実行できます。Capybara を使用すると、さまざまなドライバーを使用して受け入れテストを実行することが非常に簡単になります。ドライバ、すなわち Selenium、celerity、または rack-test。通常のケースでは、シミュレートされたブラウザー テストに rack-test が使用されます。

Rack-Test 自体は、テストを実行するセッションを作成するだけで、ステップ定義などはカピバラによって作成されています。したがって、基本的に、ラックテストによって作成された単なるセッション (正確にはモックセッション) を実行しているサーバーはありません。Capybara は、独自のステップ定義を作成するのに役立つように、ドライバー ( Rack-test またはそれ以外) によって作成されたこのセッションの上にファインダー メソッドとマッチャーなどを提供するようになりました。

Cucumber はステップ、つまりファインダー/マッチャーなどをセッションで実行し、テストします。

于 2011-01-19T23:36:04.543 に答える