Utilizo los rieles de manchas solares para la búsqueda. Estos son los siguientes:conexión rechazada de solr en Rspec
describe "GET search" do
before(:all) do
system("rake", "sunspot:solr:start")
end
after(:all) do
system("rake", "sunspot:solr:stop")
end
it "should do some search" do
Text.search do
...
end
end
end
Pero no funciona. Tengo un fracaso:
Errno::ECONNREFUSED:
Connection refused - connect(2)
Pero si escribo rake sunspot:solr:start RAILS_ENV=test
a mano en la línea de comandos y ejecute la especificación, a su paso.
¿Qué pasa? ¿No es rake sunspot:solr:start RAILS_ENV=test
equivalente a system("rake", "sunspot:solr:start")
en modo de prueba?
(probé `sistema ("rake", "manchas solares: Solr: iniciar RAILS_EVN = test") Igual..)
gracias. Por cierto, ¿cómo puedo saber si Solr se está ejecutando en mi especificación? Quiero una excepción personalizada más adecuada en lugar de 'conexión rechazada' –
Debería pensar que 'Errno :: ECONNREFUSED' es bastante indicativo. De hecho, podrías usar eso para sondear la disponibilidad. Solo lo pirateé en una edición. –
gran solución. funcionó como un sueño para mí. – nfriend21