Sunspot and RSpec fail. The commit doesn't seem to be working
Asked Answered
J

2

4

I've got a few tests running with RSpec for a Rails site, but despite following the instructions things aren't quite behaving themselves.

I create an article via a Factory, run Sunspot.commit and then check the results. I always seem to draw a blank though. When I test it manually via the console or through the website it all works find though.

Any ideas? How can I output the sunspot logs to see what's going on?

My Gemfile has the following, and I'm running Rails 3.1.1

gem 'sunspot', '1.2.1'
gem 'sunspot_rails'
gem 'sunspot_test'

Many thanks, Graeme

Jade answered 2/11, 2011 at 14:52 Comment(0)
J
9

It was my fault for not reading the manual properly.

https://github.com/collectiveidea/sunspot_test/issues/9

It's necessary to add a magic bit to the description to make sure that Solr is started.

describe "my nice test", :search => true do
  thing = Factory.create(:thing)
  Sunspot.commit
  # do my search and test
  # now it works!
end

It's the :search => true that's important.

Jade answered 8/11, 2011 at 16:4 Comment(0)
V
0

Just to add a little something to the response above; if using FactoryGirl:

FactoryGirl.define do
    after(:create) { Sunspot.commit } 
...
end

then you won't have to add the commit call on each test file...

Vito answered 24/3, 2017 at 14:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.