Ruby Web テスト用のWaTiRより優れた単体テスト ツールはありますか? それともデファクトスタンダード?どの単体テスト ツールを使用していますか?
8 に答える
ruby ベースの Web アプリケーションだけでなく、すべての Web アプリケーションのテストに使用しています。いろいろ検討しましたが、WaTiRが一番いいと思いました。さらに、Ruby で作成されているため、Ruby を使用することの素晴らしさをお互いに伝え合うことができます。
waitr をじっくり検討した結果、私のチームは Selenium に決定しました。
多くの理由には次のようなものがあります。
スティーブンが言及したのは、Selenium の方がブラウザーとクロスプラットフォームのサポートが優れていることです。現在、mac、linux、windows を safari、firefox、ie で実行しているマシンがあります。
Selenium テストは、特に Selenium グリッドを利用する場合、waitr よりも高速に実行されるように見えました。
Selenium テストは、Ruby だけでなく、さまざまな言語で記述できます。
Selenium には使いやすい IDE があります。
私は2007年からWatirを使用していますが、単体テストツールというよりもスクリプトツールとして使用しています。
手動テスターとして、これはいくつかの反復的なタスクに非常に役立ちますが、実際に「適切に」使用することはできませんでした(テストケースを作成して、どの機能が失敗しているかを確認します)。
また、私はプログラマーである私の友人にWatirを見せました。彼らは、Java、PHP、さらにはASPで記述されたシステムの開発中に、Watirを使用して彼らを支援しています。したがって、WatirがRubyプロジェクトであるからといって、それはあなたを意味しません。他のRubyプロジェクトでのみ使用する必要があります:)
これらのいずれかを回答としてマークできるとは思いませんでした。
回答からわかることは、Ruby をテスト言語として使用している場合、WaTiR は最高の言語の 1 つです。
個人的には、クロス ブラウザーのサポートと言語に依存しないアプローチにより、Selenium について Ryan Guest に同意します。一方で、独自の言語を使用するため、学ぶことがもう 1 つあります。
Scott Hanselman は、Functional Testing Tools Roundupというタイトルのポッドキャストで、この質問について語っています。
突き詰めると、WaTiR は自分の状況に合うのであれば素晴らしいテスト ツールであるというのが答えだと思います。
Web クローリング ツールとして使用されます。私が聞いたように、WaTiR はテストにも最適です。各ブラウザには、WaTiR(IE)、FireWaTir(Firefox)、および SafariWatiR(Safari) という独自のバージョンの WaTir があることに注意してください。
私は機能テストにWatirを使用しています。
単体テストでは、可能であれば、webrat や capybara などの「ヘッドレス ブラウザ」ソリューションが優先されます。これらのソリューションははるかに高速であり、ブラウザのインスタンスなどを呼び出す必要があるために複雑にならないためです。
単体テストを高速にして、すべての CI ビルドで実行できるようにする必要があります。次に、オーバーナイト ビルドを作成し、機能テストを実行します。実行に何時間もかかっても大したことではありません。(そして、何千もの機能/受け入れ/回帰テストの大規模なスイートを取得すると、新しい IE9、Firefox、または Chrome などのより高速なブラウザーを使用しても、実行に数時間かかります。
また、新しい Watir-Webdrive プロジェクトでは、両方の長所を最大限に活用できることにも注意してください。コーディングが簡単で、非常に「Rubyesque」な Watir API、および Selenium Webdriver バックエンドの幅広いブラウザー サポート (IE、FF、Chrome、Opera、ヘッドレス)。
先週の 1.6.2 リリースの時点で、FireWatir プロジェクトが Watir コアに組み込まれ、コードベースが統合されたことは注目に値します。
私たちは数年前にWaTiRを調べましたが、さまざまな理由で反対しました。主に、セレンのようなものと比較した使いやすさに関するものです(コードの記述とビジュアルツールの比較など)。
Ruby開発者はもちろん、開発者ではないテスト構築を行っていた人々は言及する価値があります。
これもrubyアプリ用ではありませんでしたが、これはWebであり、WebはHTMLを提供するため、何で構築されているかは問題ではありません。