2

私は、Rails 3 アプリケーションをテストする方法を探していました。このアプリケーションには、豊富なインターフェース用に非常に多くの JS コードが含まれています。カピバラでやってみたけどダメだったのでジャスミンでやってみます。しかし、どうすればいいのか分からなくて困っています。

私が集めた情報によると、Jasmine だけでもサイトの JS コンポーネントをテストするのに適していますが、インターフェースを直接テストしたい場合はどうすればよいでしょうか? 次のようなものが必要です:

describe "Sign in" 
   Visit '/home'
   When user clicks "Sign in" link 
   The sign in form should appear

ジャスミンで実際にそのようなことをすることはできますか? これまでのところ、私のテストは rails-jasmine gem によって生成された結果ページに含まれており、明らかに私のサイトの DOM ではなく、その DOM で実行されています。

私は今、エバーグリーンを使用しようとしていますが、同じ結果が得られます (jQuery を含めることさえできません)。

何か案は?

ありがとう!

4

3 に答える 3

2

あなたの質問に答えるために-いいえ、ジャスミンは本質的にあなたがあなたのサイトをナビゲートし、キュウリとの統合テストのようにそのような高レベルでテストすることを可能にするような方法で機能しません。

Jasmineは主にjsのAPIをテストするために構築されているため、基本的には、URLルートなどがAPIの一部である場合にのみ、それを使用してテストできます。

たとえば、バックボーンルーターがウィンドウの現在の場所にどのように応答するか、またはある場所から次の場所に移動するかをテストできますが、これはバックボーンルーターがURLの場所を明示的に処理するためです。

于 2012-12-11T16:13:09.190 に答える
0

これが役立つかもしれません: http://railscasts.com/episodes/275-how-i-test

于 2012-07-10T02:22:21.717 に答える
0

jasminericeフィクスチャで使用してみることができます。目的が JS DOM インタラクションをテストすることである場合は、フィクスチャが適しています。ただし、サーバーの相互作用もテストすることが目的である場合は、次のようなものを使用するのcucumberが理にかなっています。

于 2013-02-03T05:24:51.580 に答える