私はRuby Railsのウェブサイトをテストしており、ユニットテストと機能テストを使い始めました。Ruby Rails Webサイトのユニットテストと機能テストを開始する最も良い方法は何ですか?
答えて
CucumberおよびRSpecのようになります。彼らは、サンプルベースのスタイルbehaviour-drivenでのテストを推奨します。
RSpecのは、ユニットレベルのテストのためのライブラリです:
describe "hello_world"
it "should say hello to the world" do
# RSpec comes with its own mock-object framework built in,
# though it lets you use others if you prefer
world = mock("World", :population => 6e9)
world.should_receive(:hello)
hello_world(world)
end
end
それはRailsのための特別なサポートを持っている(例えば、それは単独でのモデル、ビュー、コントローラをテストすることができます)とRailsに組み込まれ、テストメカニズムを置き換えることができます。 (以前はRSpecのストーリーランナーとして知られている)
キュウリはあなたが顧客をに見せる(とに同意する)ことができることを(かなり)平易な英語でのハイレベルな受け入れテストを書くことができますし、それらを実行します。
Story: Commenting on articles
As a visitor to the blog
I want to post comments on articles
So that I can have my 15 minutes of fame
Scenario: Post a new comment
Given I am viewing an article
When I add a comment "Me too!"
And I fill in the CAPTCHA correctly
Then I should see a comment "Me too!"
私は、組み込みのレールユニット/機能テスト用のものを(真剣に)バイパスし、RSpecのためにまっすぐに行くことを勧めます。
ビルドされたレールのものは、Rubyとともに出荷され、JUnit/NUnit/AnyOtherUnitのまっすぐなポートであるTest::Unit
フレームワークを使用しています。
これらのフレームワークは、すべて面倒で迷惑なものであることがわかりました。単体テストの作成についての一般的な無関心につながりました。明らかに、ここで習得しようとしているものではありません。
RSpecのは、あなたのコードではなく、それはすでにを何主張するよりも、何をすべきかを記述する中心とされている別の獣です。テストをどのように見えるかが変わり、あなたはそれをやるほうがずっと楽しいでしょう。
ファンポーズのように聞こえるのは、私が本当にRSpecが良いと信じているからです。私は単体/ rspecのために単なる信者に、単体テスト/機能テストに迷惑で疲れてしまった。
Test :: UnitとRSpecはちょうどツールであり、値は使用方法です。 RSpecでできることはTest :: Unitで行うことができます。 BDDはTDDよりも改善されています。これは、あなたがテストで何をしていたはずなのかを明確な言語で指摘しているからです。 http://dannorth.net/introducing-bdd –
を参照してください。これは私の要点です。私が望むなら、私はx86アセンブラですべてのテストを書くことができました。その価値はあなたの思考にどのように影響するのかにあります。したがって、より良いテストを生み出すのに役立ちます –
すでにアプリケーションを作成しているようですが、RSpec
をTest::Unit
より大きいボーナスにすることはできません。
どちらを選択しても、フィクスチャとモックの管理(テスト用の「データ」)という別の問題がすぐに発生します。だからShouldaとFactory Girlを見てください。
すでにアプリが書かれていても、アプリケーションがまだ終了していないという単純な事実のために、Test :: UnitにRSpecを使うことをお勧めします。あなたは、機能とリファクタリングコードを追加したいと思うでしょう。これらの変化は、苦痛が少ないのに役立ち、早期の右テスト習慣をします取得
また、FirefoxでWebインターフェイスをテストすることができカチッと音がしてテキスト入力を記録するよう
http://selenium.openqa.org/ようにプラグインしてから再生適切な表示要素をページで確認します。
- 1. Ruby on Railsアプリケーションでキャッシュを開発してテストする最良の方法は何ですか?
- 2. jbuttonからスレッドを開始する最も良い方法は?
- 3. JavaScriptの機能を分離する最も良い方法は何ですか?
- 4. プライベートなステートレスコンポーネントの機能をテストする最良の方法は何ですか?
- 5. DLL機能をテストする最良の方法は何ですか?
- 6. angularjsディレクティブ機能を拡張する最も良い方法は何ですか?
- 7. RubyでアプリケーションAPIライブラリをテストする最良の方法は何ですか?
- 8. Ruby on Railsのデータベースを設計する最良の方法は何ですか?
- 9. ASP.Net WebサイトをWebファームに展開するための最良の方法は何ですか
- 10. Ruby on Railsアプリケーションをパッケージ化する最良の方法は何ですか?
- 11. Ruby on Railsで空の一時ディレクトリを取得する最も良い方法は何ですか?
- 12. Ruby on Railsでユーザー設定を複数のページに分割する最も良い方法は何ですか?
- 13. Railsルートでスラッグを翻訳する最も良い方法は何ですか
- 14. Railsアプリケーションでスキニングを実装する最も良い方法は何ですか
- 15. Rails 5のアプリケーションコントローラレスキューステータスコードをテストする最良の方法は何ですか?
- 16. GrailsでWebサービスを使用する最も良い方法は何ですか?
- 17. Railsプラグインに曲を追加する最も良い方法は何ですか?
- 18. WebフォームをRuby on Railsアプリケーションでサーバーに印刷(保存)する最良の方法は何ですか?
- 19. 私のウェブサイトで投票機能を使用する最も良い方法は何ですか? (今のWebサイトのプロトタイプを作るイムinnerHTMLの
- 20. ASP.NET 2.0 Webサービスをバージョンアップする最も良い方法は何ですか?
- 21. WCF Web APIをバージョンアップする最も良い方法は何ですか?
- 22. Ruby on RailsアプリケーションからFlexチャートにデータを渡す最も良い方法は何ですか?
- 23. RailsクエリにLIKE句を含める最も良い方法は何ですか?
- 24. このプログラムを開始する最も良い方法は何ですか?プログラムに 「ハードワイヤード」:
- 25. S3から複数のファイルをダウンロードする最も良い方法 - Ruby on rails
- 26. メッセージをカフカに公開する最も良い方法は何ですか?
- 27. RubyでWord文書の形式でファイルをプログラムで出力する最も良い方法は何ですか?
- 28. HTML5ウェブサイトをテストする最良の方法は何ですか?
- 29. javascriptをテストする最良の方法は何ですか?
- 30. MVCリポジトリをテストする最良の方法は何ですか?
受け入れテストの第2のAPIはRSpecから取り出され、現在は「キュウリ」と呼ばれています。 –
ありがとうございます - 私は最新の回答を得るために編集しました。 –