Wir haben einige Tests geschrieben, die notwendig sind, aber sehr langsam. Daher haben wir RSpec so konfiguriert, dass sie ausgenommen von Solano ausgeschlossen werden, wo wir eine ENV-Variable einrichten.Wie kann RSpec in einer Rake-Task aufgerufen werden?
# spec_helper
unless ENV['RUN_ALL_TESTS'] == 'true'
config.filter_run_excluding :slow
end
das funktioniert, aber ich versuche, eine Harke Aufgabe schreiben wir jeden Test vor Ort auszuführen, indem die gleiche ENV Variable gesetzt und dann läuft die Suite aufrufen können. Ich habe Probleme herauszufinden, wie ich RSpec auslösen kann. Das ist, was ich jetzt habe:
# all_tests.rake
require 'rspec/core/rake_task'
desc 'Run all tests, even those usually excluded.'
task all_tests: :environment do
ENV['RUN_ALL_TESTS'] = 'true'
RSpec::Core::RakeTask.new(:spec)
end
Wenn ich es ausführen, führt es keine Tests aus.
Die meisten Dinge, die ich gefunden habe, ist zum Auslösen einer Rake-Aufgabe innerhalb eines Tests, Testen einer Rake-Aufgabe oder Einrichten einer Rakefile. Wir verwenden rspec-rails
, unsere Standard-Rake-Aufgabe ist bereits eingerichtet.
klingt wie du bist nach http://stackoverflow.com/questions/577944/how-to-run-rake-tasks-from-within-rake-tasks –
Das sieht definitiv so aus, wie ich danach bin, aber Ich vermisse noch etwas, weil 'Rake :: Task ['spec']. Invoke' und' Rake :: Task ['default']. Invoke' immer noch nichts tun. –
Haben Sie versucht, nur 'RUN_ALL_TESTS = True Rake Spec' zu verwenden? –