rspec

rspecを実行するVimプラグイン【run-rspec.vim】を作った

run-rspec.vim

Vimでrspecを実行するプラグインはいくつか存在しているのですが、色々試してみたのですが、どうもしっくりくるものがありませんでした。一番良さげだったのはskwp/vim-rspecだったのですが、すでにメンテナンスされていないようで、rspec3では動きません。PRを送っても放置状態だったので、しびれを切らして自分で作ってしまいました。 ...続きを読む

【Rails 5】ヘルパーを使用しているactive_decoratorをrspecでテストする

active_decoratorにてデコレートされたモデルをrspecでテストする際、デコレータ内でヘルパーメソッド(link_to とかurl_for とか)を使用しているとNoMethodErrorが発生する。これはActiveDecorator::ViewContext にActionView::Context が積まれてないことが原因みたい。rspec専用のgem(mizoR/active_decorator-rspec)もあるみたいだけど、まだrails 5には対応できてない((active_decorator-rspec 0.0.9で対応したようです。))(もしくはrspec 3.5?)ようなので、対応策をメモっておく。 ...続きを読む

ActiveRecord依存のModuleをrspecでテストする

Ruby on Railsにてモデルの機能を拡張する方法は、モジュールをインクルードするのが一般的です。インクルードするモジュールがActiveRecordに依存しない内容であれば、単体テストを書くことは難しくありません。しかし、ActiveRecordに依存している場合はちょっと面倒です。なぜなら、インクルードする側のモデルに対応するテーブルが必要になるからです。今回は、そんな血ヘドを吐くような困難に打ち勝つ方法をご紹介します。 ...続きを読む