RSpecでアプリをテストしよう
Created by Clemens Helm, @clemenshelm and Floor Drees, @floordrees/
Updated by Ana Schwendler, @anaschwendler
翻訳者: Ryoki Inoue, @r_i_engineer
RSpecは Ruby のテストフレームワークで、Rubyとは少し違うような文法でアプリケーションの動作を記述します。ターミナルにテスト結果が出力されるので、自分の読解力も試されます(冗談です笑)
テストとビヘイビア駆動開発について説明してください。
1.RSpecのgemを追加しよう
Gemfile
を開き、:development
、:test
のendタグの上に、以下の行を追加します。
以下を実行し、gemをインストールします。
次はアプリケーションの中にspec/
ディレクトリを作成します。
spec/
ディレクトリはテストファイルが置かれる場所です。最後に次のコマンドを実行します。
これにより設定に使用される以下のファイルが追加されます。
.rspec
spec/spec_helper.rb
spec/rails_helper.rb
2.最初のテストを作成しよう!
Rubyistはよく「テスト」と「仕様」という言葉を区別せずに使っていますが、それはテストを「spec」フォルダに格納するためです。 そのためには、以下の手順を実行します。
idea
モデルのテストを作成しますが、Railsで簡潔に行うには
spec
フォルダの中にmodels
フォルダを作成するため以下をターミナルで実行します。
- テストを
idea_spec.rb
(<モデル名>_spec.rb
)として保存します。
その新しいファイルの中で、アイデアに名前があることを最初のテストで確認します。そのため仕様の1つを説明しましょう。
ターミナルで以下を実行します。
これは、テストがまだ実装されていないため保留中であることが出力されます。
ターミナル出力についてグーグル検索するよう説明してください。
ではテストを実装しましょう!
これにより期待している出力が得られるはずです。
3.リファクタリング
実際に2つのIdeaを作成して、プロジェクトが正しい方法でIdeaを作成していることを確認することもできます。
というように、より多くのことをテストすることができます。
リファクタリングについて説明してください。
4.テストにTo Doマークを付けてみよう
テストでTo Doリストを作れたら便利ですよね。 RSpecの便利な機能として、特定のテストを保留にする機能があります。つまり、最初に「何を実装するか」を考え、それがうまくいっているかどうかを検証するためのテストを記述するのです。
次のテストは、idea_spec.rb
に以下の行を追加して作成しましょう。
テストを保留としてマークします。
このテストを完成させますか?それとも他のテストについて考えますか?
5.ビヘイビア駆動開発をしてみよう
ビヘイビア駆動開発について説明してください。
もう一人でいろんなテストを作れるようになったのではないでしょうか。もっといろんなテストを書きたい時はコーチに遠慮なく相談してください。
Happyテスティング!
ガイドを進めていて行き詰まったときはコーチに助けてもらいましょう。また Ruby、Rails、コンソール、テキストエディタについての便利なチートシート も参考にしてみてください。
ガイド
- ガイド 1: はじめに
- ガイド 2: ツールについて知ろう
- ガイド 3: Railsインストールガイド
- ガイド 4: はじめてのアプリを作る
- ガイド 5: HTMLとCSSを使ってアプリをスタイリングしよう
- ガイド 6: アプリに新しいページを追加しよう
- ガイド 7: あなたのアプリに新しいホーム画面を追加しよう
- ガイド 8: 画像アップロード機能を追加しよう
- ガイド 9: GitHub であなたのアプリのコードを公開しよう
- ガイド 10: これらのサービスのどれかで あなたのアプリをインターネットに公開しよう
- ガイド 11: HTML & CSS を使ってデザインしてみよう
- ガイド 12: あなたのアプリにコメント出来るようにしましょう
- ガイド 13: Carrierwave を使って画像をリサイズしよう
- ガイド 14: RSpecでアプリをテストしよう (このページです!)