2012-07-05

rspec2でrake spec:docみたいなことをする

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
rspec1.3の時は
rake spec:doc
とすると実行されるspec内容をずらずら出力してくれて、ざっくりやったテストの履歴として保存するのに利用していました。

rails3で利用するrspec2では
rake spec:doc
がなくなってしまっていました。

rspec2でも同じようにテスト実行内容をずらずら出力したいなぁと思ったわけです。

rspec1.3の
rake spec:doc
は、rspecに以下のオプションをつけて実行したものになります。
--format specdoc --dry-run
これと似たようなオプションをつけて実行できればよさげです。

rspec2では、以下のようにすることで似たようなことができました。
rake spec SPEC_OPTS="--format documentation"

rspec1.3の
rake spec:doc
では、--dry-runのおかげで実際にテストは実行せずにテスト内容の出力が行われるので短時間で結果を得られるのですが、
rspec2では、--dry-runがなくなってしまったようで実際にテストを実行するので時間がかかってしまいます。

ちなみにrailsプロジェクトのルートディレクトリにある
.rspec
ファイルを編集して
上記オプションをつけて
rake spec
を実行してもよいのですが、いつもずらずら出力されてしまいます。





2012/7/13追記
lib/tasks/my_rspec_tasks.rake というファイルを以下のような感じで作成すれば rake spec:doc
でテスト一覧をずらずら表示できるようになります。
namespace :spec do
  desc "create test doc"
  task :doc do
    system('rake spec rake spec SPEC_OPTS="--format documentation"')
  end
end
コメントを投稿