是非に及ばず

プログラミングに関する話題などを書いていきます(主にRailsやAndroidアプリ開発について)

RSpec on Railsの実行方法のまとめ

前置き

この記事ではrailsを利用する前提なので、全てのコマンドはRAILS_ROOT直下で実行する事を想定しています。

まとめて全部実行

この場合、テスト用データベースの作成などもやってくれる。

$ rake spec

..............
Finished in 0.169177 seconds
14 examples, 0 failures

個別に実行

この場合は、テスト用データベースは自分でrake db:test:prepareして用意する必要がある。

簡易表示
$ rake db:test:prepare
$ spec -c spec/models/category_spec.rb

....
Finished in 0.071218 seconds
4 examples, 0 failures
詳細表示
$ rake db:test:prepare
$ spec -fs -c spec/models/category_spec.rb

Category#name が設定されていない場合:
- バリデーションに失敗すること
- :nameにエラーが設定されている事

Category#name が既に登録されている場合:
- バリデーションに失敗すること
- :nameにエラーが設定されている事
Finished in 0.071985 seconds
4 examples, 0 failures

まとめて実行してHTMLに結果を出力

これは便利かもしれない。"-f h:出力ファイル名"がポイント。h:を忘れるとエラーになるので注意。

$ rake db:test:prepare
$ spec spec -f h:spec_report.html
出力結果