2012-01-24 15 views
8

Rails 3.1用の最も簡単なJavascriptユニットテストシステムは、アセットパイプラインを使って特別な作業が可能なものを探しています。Rails 3.1とアセットパイプライン用のJavascriptユニットテスト

私は、ジャスミン・ライス、ヘッドレスジャスミン・ウェブキットなど、ジャスミン・ジェムの様々な化身を試しました。 Jasmineの宝石は、さまざまな設定ファイルを微調整する必要がない、レール3.1で動作するようには見えません。 Jasmine-riceとheadless-jasmine-webkitはどちらも複雑な依存関係があり、設定ファイルをさらに調整する必要があります。

提案がありますか?理想的には、HTML/HAMLの備品を含める必要があり、ヘッドレスにする必要がありますが、この時点では最小限の設定でJavaScriptをテストできるようになりました。

+0

これで不運なことはありますか?私は同じ問題を抱えています – Matthew

+0

残念ながら。数週間前に中規模のRubyカンファレンスに参加しました。一般的なコンセンサスは、セレンでテストすることです。私は、あまりにも多くの奇妙なバグ、私が知っている良いアウト - オブ - ザ - ボックスのソリューションの後にセレンのためにカピバラ - Webkitを放棄することを余儀なくされた。 –

答えて

0

ビジュアルスタジオでMS Test内のjavascriptをユニット化して機能テストできるようなものを探していました。永遠に私を連れて行ったが、私はWatiNを見つけた。 WatiNはオープンインターネットエクスプローラでウェブページを運営しています。 IDEを管理者として実行する場合は、ローカルのHTMLファイルを開くことさえできます。

私は現在Visual Studioですべてのjavascriptで機能テストとユニットテストを実行しています。私はこれまでのところ、IDEからjavascriptの機能テストを実行するための最良のソリューションだと思っています。単体テストではYUIテストを使用しましたが、ブラウザを開いてブラウザ内でjavascriptを実行しているので、(qUnitのように)任意のjavascriptテストフレームワークを使用できます。私はQUnit、jQueryの上に構築された、シンプルで効果的なユニットテストのライブラリを使用してきた

1

ジャスミンは最適なソリューションです。これを使ってすべてのJSコードをテストしています。これはCoffeeScriptでも美しく機能します。

RubyGems.orgのバージョンをインストールしないでください(しばらく更新されていません)。githubから最新のものを入手してください。あなたのGemfileに追加します。

group :test do  
    gem 'jasmine', :git => 'https://github.com/pivotal/jasmine-gem.git' 
end 

次にあなたがrake jasmineを実行して、テストを実行するhttp://localhost:8888に行くことができます。ヘッドレスWebkitも機能します。

0

がうまくいけば、遅れて決してよりも優れています...私はちょうどあなたの問題を解決する必要があります小さなライブラリを書いた: https://github.com/proxv/qlive-rails

それはライブサーバーの応答にqunitとあなたのqunitテストを注入します。また、クライアントサイドのモックを減らすために、テストに先立ってサーバー側の状態を設定することもできます(ユーザーのログインやページのコンテンツの設定など)。

rspecを使用している場合は、他のrspecの例と一緒にqunitテストをヘッドレスで実行するアドオンもあります。

関連する問題