2013-04-09 11 views
13

quando ho eseguito i miei test RSpec con Spork, ogni volta che uso save_and_open_page di capibara, spork sta perdendo la suite di test .. o forse pretende di uscita più niente ...save_and_open_page e spork, spork sta perdendo suite di test/uscita

Vedi il registro

# => without save_and_open_page 
09:04:24 - INFO - Spork server for RSpec, Test::Unit successfully started 

09:04:24 - INFO - Guard::RSpec is running 
09:04:24 - INFO - Running all specs 
Running tests with args ["--drb", "-f", "progress", "-r", "/Users/myuser/.rvm/gems/ruby-1.9.3-p392/gems/guard-rspec-2.5.2/lib/guard/rspec/formatter.rb", "-f", "Guard::RSpec::Formatter", "--failure-exit-code", "2", "spec"]... 
................ 

Finished in 4.1 seconds 
16 examples, 0 failures 


Randomized with seed 50331 

Done. 

# => with save_and_open_page, no .... are shown anymore 
09:04:29 - INFO - Guard is now watching at '/Users/myuser/coding/myproject' 
09:04:39 - INFO - Running: spec/features/registration/registration_process_spec.rb 
Running tests with args ["--drb", "-f", "progress", "-r", "/Users/myuser/.rvm/gems/ruby-1.9.3-p392/gems/guard-rspec-2.5.2/lib/guard/rspec/formatter.rb", "-f", "Guard::RSpec::Formatter", "--failure-exit-code", "2", "spec/features/registration/registration_process_spec.rb"]... 
Done. 

# => without save_and_open_page, also no .... anymore (after restart it works again) 
[1] guard(main)> Running tests with args ["--drb", "-f", "progress", "-r", "/Users/myuser/.rvm/gems/ruby-1.9.3-p392/gems/guard-rspec-2.5.2/lib/guard/rspec/formatter.rb", "-f", "Guard::RSpec::Formatter", "--failure-exit-code", "2", "spec/features/registration/registration_process_spec.rb"]... 
Done. 

    # => here i added some errors into my code... still no error message shown... 
[1] guard(main)> Running tests with args ["--drb", "-f", "progress", "-r", "/Users/myuser/.rvm/gems/ruby-1.9.3-p392/gems/guard-rspec-2.5.2/lib/guard/rspec/formatter.rb", "-f", "Guard::RSpec::Formatter", "--failure-exit-code", "2", "spec/features/registration/registration_process_spec.rb"]... 
Done. 

# only works again after restarting spork 

Qualche suggerimento?

+0

ho creato un problema su github: https://github.com/sporkrb/spork/issues/226 – Lichtamberg

risposta

1

In qualche modo il tuo STDOUT viene sostituito con un altro buffer. Quindi tutto ciò che viene scritto da Capybara a STDOUT viene ignorato o consumato altrove.

provare quanto segue:

# Add global before/after blocks 
before :each do 
    @old_stdout, @old_stderr = STDOUT, STDERR 
end 

after :each do 
    STDOUT, STDERR = @old_stdout, @old_stderr 

    # Some gems use $stdout and $stderr, instead of STDOUT and STDERR, replace those too 
    $stdout, $stderr = @old_stdout, @old_stderr 
end 

Capybara di save_and_open_page usa Launchy gioiello. Quindi credo che lo STDOUT e lo STDERR vengano stubati in una di queste gemme.

+0

hm io investiate questo ulteriore. .. grazie per la tua risposta, la contrassegnerò quando ne saprò di più! – Lichtamberg

+0

@Lichtamberg, ho provato la soluzione di cui sopra e non ho potuto farlo funzionare. Sei riuscito a risolvere questo problema? Apprezzerei qualsiasi suggerimento .. – lnreddy

+0

No, non ha funzionato anche per me .. – Lichtamberg

Problemi correlati