さて、「どのように TDD を行うか」というテーマは、「どのように適切にテストするか」というテーマと同じくらい広く公開されています。Ruby では、より具体的には Rails では、rspec を最初に使用するツールにする必要がありますが、それで終わりではありません。RSpec を使用すると、コンポーネントの単体テストを記述して、それらを個別にテストできます。Rails のコンテキストでは、次のことを意味します。
- モデルをテストする
- コントローラーをテストする
- ビューをテストする
- ヘルパーをテストする
- ルートをテストする
これは非常に優れたツールであり、レールに限定されたものではなく、他のフレームワークのテストにも使用されます。
RSpec を使い終わったら、cucumber にジャンプする必要があります。Cucumber (http://cukes.info/) は、統合テストを作成するために (Rails 環境で) 最もよく使用されるツールです。その後、キュウリにカピバラを統合できます。
cucumber を使い終わったら、アプリケーション バックエンドとその HTML 出力 (の一部) のテストが完了します。そのときは、JavaScript コードもテストする必要があります。どうやってするか?まず、単体テストを行う必要があります。Jasmine (http://pivotal.github.com/jasmine/) は、この作業に使用できるツールの 1 つです。
次に、構造への統合をテストする必要があります。どうやってするか?キュウリに戻ってセレン (http://seleniumhq.org/) をキュウリ フレームワークに統合すると、ブラウザで「ライブ」で統合をテストし、JavaScript マジックとテストにアクセスできるようになります。その場で。
したがって、これらの手順を完了すると、適切に統合されたテスト環境を作成するために必要な手順のほとんどをカバーしたことになります。終わりましたか?あまり。また、カバレッジ ツール (利用可能なもの: https://github.com/colszowka/simplecov ) を設定して、コードが十分にテストされているかどうか、未解決の問題が残っていないかどうかを確認する必要があります。
これらの不機嫌な手順を完了した後、最後に 1 つのことも行う必要があります。これは、開発をすべて 1 人で行うのではなく、チームが十分に大きく、単独では管理できない場合に備えて: テスト サーバーを設定します。前のすべてのステップを定期的に実行し、その結果に関する通知を配信する以外に何もしません。
したがって、これらすべてが、関心のある開発者にとって優れた TDD 環境を設定します。Ruby/Rails コミュニティでさまざまな種類のテストに最も使用されているフレームワークのみを挙げましたが、それはあなたの仕事に適した、またはより適したフレームワークが他にないという意味ではありません。適切にテストする方法はまだ教えられていません。そのためには、より多くの理論が関係しており、多くのサブディベートがあります。
何か忘れた場合は、下のコメントに書き込んでください。
それに加えて、適切にテストする方法にアプローチする必要があります。つまり、宣言的アプローチと命令的アプローチのどちらを採用しますか?