2012-02-02 38 views
1

我想要設置黃瓜,rspec,警衛和spork。我有rspec工作正常,但黃瓜與下面的跟蹤崩潰。如何使用Rails 3.1設置Cucumber,Guard&Spork?

我已經嘗試設置這樣了好幾次, 軌摹黃瓜:安裝--spork 叉勺黃瓜--boostrap 等..沒有運氣。

寶石: 導軌(3.1.3) 防護件(0.10.0) 後衛打捆(0.1.3) 護黃瓜(0.7.4,0.7.3) 護欄(0.0.3 )012-guard-rspec(0.6.0,0.5.2) guard-spork(0.5.1,0.5.0) 黃瓜(1.1.4) 黃瓜欄(1.2.1) spork(0.9.0)

Running all features 
Using the default profile... 
Running tests with args ["--color", "--format", "pretty", "--require", "/Users/matt/.rvm/gems/[email protected]/gems/guard-cucumber-0.7.4/lib/guard/cucumber/notification_formatter.rb", "--format", "Guard::Cucumber::NotificationFormatter", "--out", "/dev/null", "--require", "features", "features", "--format", "pretty", "--strict", "--tags", "[email protected]", "features", "--no-profile"]... 
Disabling profiles... 
Exception encountered: #<RuntimeError: All but one formatter must use --out, only one can print to each stream (or STDOUT)> 
backtrace: 
/Users/matt/.rvm/gems/[email protected]/gems/cucumber-1.1.4/lib/cucumber/cli/configuration.rb:198:in `arrange_formats' 
/Users/matt/.rvm/gems/[email protected]/gems/cucumber-1.1.4/lib/cucumber/cli/configuration.rb:26:in `parse!' 
/Users/matt/.rvm/gems/[email protected]/gems/cucumber-1.1.4/lib/cucumber/cli/main.rb:55:in `configuration' 
/Users/matt/.rvm/gems/[email protected]/gems/cucumber-1.1.4/lib/cucumber/cli/main.rb:63:in `run_drb_client' 
/Users/matt/.rvm/gems/[email protected]/gems/cucumber-1.1.4/lib/cucumber/cli/main.rb:34:in `execute!' 
/Users/matt/.rvm/gems/[email protected]/gems/spork-0.9.0/lib/spork/test_framework/cucumber.rb:24:in `run_tests' 
/Users/matt/.rvm/gems/[email protected]/gems/spork-0.9.0/lib/spork/run_strategy/forking.rb:13:in `block in run' 
/Users/matt/.rvm/gems/[email protected]/gems/spork-0.9.0/lib/spork/forker.rb:21:in `block in initialize' 
/Users/matt/.rvm/gems/[email protected]/gems/spork-0.9.0/lib/spork/forker.rb:18:in `fork' 
/Users/matt/.rvm/gems/[email protected]/gems/spork-0.9.0/lib/spork/forker.rb:18:in `initialize' 
/Users/matt/.rvm/gems/[email protected]/gems/spork-0.9.0/lib/spork/run_strategy/forking.rb:9:in `new' 
/Users/matt/.rvm/gems/[email protected]/gems/spork-0.9.0/lib/spork/run_strategy/forking.rb:9:in `run' 
/Users/matt/.rvm/gems/[email protected]/gems/spork-0.9.0/lib/spork/server.rb:48:in `run' 
/Users/matt/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1558:in `perform_without_block' 
/Users/matt/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1518:in `perform' 
/Users/matt/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1592:in `block (2 levels) in main_loop' 
/Users/matt/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1588:in `loop' 
/Users/matt/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1588:in `block in main_loop' 
Done. 

回答

1

我終於解決了這個問題後,通過我的衛士文件傳遞給黃瓜打標籤後,我能夠解決衝突的f滯後,而不是覆蓋我的cucumber.yml標誌。

工作Guardfile

guard 'cucumber', :cli => "--drb" do 
    watch(%r{^features/.+\.feature$}) 
    watch(%r{^features/support/.+$})   { 'features' } 
    watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' } 
end 

cucumber.yml

<% 
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : "" 
rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}" 
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags [email protected]" 
%> 
default: --drb <%= std_opts %> features 
wip: --drb --tags @wip:3 --wip features 
rerun: --drb <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags [email protected] 

衝突Guardfile

guard 'cucumber', :cli => "--drb --color --format pretty" do 
    watch(%r{^features/.+\.feature$}) 
    watch(%r{^features/support/.+$})   { 'features' } 
    watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' } 
end 
相關問題