久しぶりに Rails でテストの環境作る
プライベートで作ってた Rails のアプリを久しぶりに改造しようと思ったら、テスト全く書いて無くて死にそうになった。。集中して開発してる時はいいけど、やっぱダメですね。
設定したもの
- RSpec
- FactoryGirl
- spring
- direnv
Gemfile
group :development do gem 'pry-byebug', group: 'test' gem 'spring' gem 'tapp-awesome_print', group: 'test' end group :test do gem 'database_rewinder' gem 'factory_girl_rails', group: 'development' gem 'fuubar', '~> 2.0.0.beta' gem 'rspec-rails' gem 'spring-commands-rspec' end
pry
と tapp
も使いたいので追加
RSpec
$ rails generate rspec:install
spec_helper.rb
, rails_helper.rb
が生成される。
$ bundle binstubs rspec-core
bin/rspec
を追加
DatabaseRewinder
spec/rails_helper.rb
config.before :suite do DatabaseRewinder.clean_all end config.after :each do DatabaseRewinder.clean end
FactoryGirl
spec/rails_helper.rb
-# Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f } +Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
spec/support/factory_girl.rb
RSpec.configure do |config| config.include FactoryGirl::Syntax::Methods config.before :suite do begin DatabaseRewinder.start FactoryGirl.lint ensure DatabaseRewinder.clean end end end
spring
$ bundle exec spring binstub --all
direnv
bin
って打つのを省略します。
$ export EDITOR=vi $ direnv edit .
エディタが開くので .envrc
に以下を記述
export PATH=$PWD/bin:$PATH
とりあえずこれで書き始める事ができました。capybara
系はまた書くときに。