RailsBrickを使ってBDD環境を構築する
ソフトウェア | バージョン | 備考 |
---|---|---|
OS X | 10.8.5 | |
ruby | 2.1.1 | |
rvm | 1.24.0 | |
rbricks | 2.0.5 | |
heroku-toolbelt | 3.6.0 |
$ rvm install 2.0.0
$ rvm gemset create github
$ rvm use ruby-2.0.0@github
$ echo rvm use ruby-2.0.0@github >> .rvmrc
$ gem install railsbricks
$ gem install rails -no-ri -no-rdoc --version=4.0.4
以下のgemを追加してbundle実行
gem "guard-rspec",
gem "factory_girl_rails",
gem "spring"
gem "guard-livereload", require: false
gem "spring-commands-rspec"
以下を追加
config.before(:all) do
FactoryGirl.reload
end
以下のコマンドを実行してGuardflileを生成する
$ guard init rspec livereload
生成されたGuardfileの以下の行を変更する
guard :rspec do
guard :rspec, cmd: 'spring rspec -f doc' do
実行して確認する
$ guard
Procfileに以下の内容を追加する
guard: bundle exec guard
以下のgemを追加してbundle実行
gem "cucumber-rails", require: false
gem "database_cleaner"
gem "guard-cucumber"
$ rails g cucumber:install
create config/cucumber.yml
create script/cucumber
chmod script/cucumber
create features/step_definitions
create features/support
create features/support/env.rb
exist lib/tasks
create lib/tasks/cucumber.rake
gsub config/database.yml
gsub config/database.yml
force config/database.yml
$ rake cucumber
/Users/k2works/.rvm/rubies/ruby-2.0.0-p247/bin/ruby -S bundle exec cucumber --profile default
Using the default profile...
0 scenarios
0 steps
0m0.000s
$guard init cucumber
以下のGemを追加してbundle実行
gem 'yard', :require => false
gem 'yard-cucumber', :require => false
gem 'redcarpet'
gem 'guard-yard'
gem 'yard-rails-plugin', :git => 'https://github.com/ogeidix/yard-rails-plugin.git', :tag => 'v0.0.1'
gem 'guard-ctags-bundler'
--charset UTF-8
"{lib,app,features}/**/*.{rb,feature}" --plugin yard-cucumber
$ yard
$ yard server
$ open http://localhost:8808
$ guard init yard
$guard
12:23:38 - INFO - Guard is using TerminalTitle to send notifications.
12:23:38 - INFO - [Guard::Yard] Stopping YARD Documentation Server.
12:23:38 - INFO - [Guard::Yard] Starting YARD Documentation Server.
>> YARD 0.8.7.4 documentation server at http://0.0.0.0:8808
[2014-04-21 12:23:39] INFO WEBrick 1.3.1
[2014-04-21 12:23:39] INFO ruby 2.0.0 (2013-06-27) [x86_64-darwin12.5.0]
[2014-04-21 12:23:39] WARN TCPServer Error: Address already in use - bind(2)
[2014-04-21 12:23:39] INFO WEBrick::HTTPServer#start: pid=88760 port=8808
12:23:40 - INFO - [Guard::Yard] Server successfully started.
12:23:40 - INFO - Guard::RSpec is running
12:23:40 - INFO - Running all features
Disabling profiles...
0 scenarios
0 steps
0m0.000s
12:23:45 - INFO - Guard is now watching at '/Users/k2works/projects/github/rails_bricks_bdd'
[1] guard(main)>
guard実行時にYardサーバーが実行されるので_http://localhost:8808_にアクスすればドキュメントを閲覧できる。画面が文字化けしてる場合はエンコードをUnicode(UTF-8)に変更する。
Yardドキュメント生成時にinvalid byte sequence in UTF-8
が発生した場合は以下をコンソルールで実行する。
$export LANG=ja_JP.eucJP
Getting Started with Rails 4.x on Heroku
Railsの多言語化対応 I18nのやり方を整理してみた!【国際化/英語化】
Rails4時代の高速テスト環境 Rspec+Guard+FactoryGirl+Spring[NEW!]
Introducing the Nitrous.IO Hack Button: Bring Your Code to Life