1. jnchito

    Posted

    jnchito
Changes in title
+RSpecで作ったexampleの一覧をテストの実行なしに出力する
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,91 @@
+
+## やりたいこと
+
+RSpecで作ったexampleの一覧をテストの実行なしに出力したい。
+(つまりテスト項目一覧がほしい)
+
+## コマンド
+
+Rails(Spring)で実行する場合
+
+```
+bin/rspec -f d --dry-run --order defined
+```
+
+Bundle execで実行する場合
+
+```
+bundle exec rspec -f d --dry-run --order defined
+```
+
+### オプションの意味
+
+- `-f d` = ドキュメント形式で出力する。`--format documentation`と書いても良い。
+- `--dry-run` = テストを実行しない(Dry run)
+- `--order defined` = 定義されている順に実行する。`spec_helper.rb`等でランダム実行を指定していなければ省略可。
+
+## 出力例
+
+```text
+$ bin/rspec -f d --dry-run --order defined
+
+ContactsController
+ administrator access
+ behaves like public access to contacts
+ GET #index
+ with params[:letter]
+ populates an array of contacts starting with the letter
+ renders the :index template
+ without params[:letter]
+ populates an array of all contacts
+ renders the :index template
+ GET #show
+ assigns the requested contact to @contact
+ renders the :show template
+
+# 省略...
+
+NewsRelease
+ example at ./spec/models/news_release_spec.rb:4
+ example at ./spec/models/news_release_spec.rb:5
+ example at ./spec/models/news_release_spec.rb:6
+ returns the formatted date and title as a string
+
+Phone
+ does not allow duplicate phone numbers per contact
+ allows two contacts to share a phone number
+
+Finished in 0.00696 seconds (files took 1.66 seconds to load)
+82 examples, 0 failures
+```
+
+## 応用:フィーチャスペックだけを一覧化する
+
+```text
+$ bin/rspec spec/features -f d --dry-run --order defined
+
+About BigCo modal
+ toggles display of the modal about display
+
+News releases
+ as a user
+ adds a news release
+ as a guest
+ reads a news release
+
+User management
+ adds a new user
+
+Finished in 0.00072 seconds (files took 1.71 seconds to load)
+4 examples, 0 failures
+```
+
+## 参考資料
+
+- [Command line - RSpec Core - RSpec - Relish](https://relishapp.com/rspec/rspec-core/v/3-4/docs/command-line)
+
+## その他
+
+上の実行例で使ったコードは「[Everyday Rails - RSpecによるRailsテスト入門](https://leanpub.com/everydayrailsrspec-jp)」で使われているテストコードです。
+
+- [everydayrails/rails-4-1-rspec-3-0](https://github.com/everydayrails/rails-4-1-rspec-3-0)