È possibile impostare una variabile di ambiente dalla riga di comando che può essere utilizzato in spec/spec_helper.rb:
DEBUG = ENV['DEBUG'] || false
if DEBUG
Capybara.default_driver = :selenium
else
Capybara.default_driver = :rack_test
Capybara.javascript_driver = :poltergeist
end
che possono poi essere eseguito dalla riga di comando in questo modo:
DEBUG=true rspec spec/features/my_spec.rb:35
Ciò consentirà di specificare un numero di riga specifico.
Si può anche dover modificare la propria strategia di pulizia a seconda del driver capibara in uso (ad esempio, con il pulitore del database):
RSpec.configure do |config|
config.before(:suite) do
if DEBUG
DatabaseCleaner.strategy = :truncation
else
DatabaseCleaner.strategy = :transaction
end
DatabaseCleaner.clean_with(:truncation)
end
end
Se si desidera ottenere fantasia, è possibile combinare con questa risposta StackOverflow : https://stackoverflow.com/a/5150855/95683 per rallentare la velocità con cui il selenio viene eseguito specifiche quando sono in esecuzione in modalità debug:
config.before(:each) do |group|
set_speed :slow if DEBUG
end
fonte
2014-02-11 16:47:33
No, in realtà è possibile aggiungere un numero di riga ': 54' per eseguire test specifici, almeno nel 2015 e nel 2016, ma non ricordo se fosse possibile anche nel 2014. – Aleks