4

我已经为 Rails 站点使用 RSpec 运行了一些测试,但是尽管遵循了说明,但事情并没有完全正常运行。

我通过工厂创建了一篇文章,运行 Sunspot.commit 然后检查结果。不过,我似乎总是画一个空白。当我通过控制台或通过网站手动测试它时,它都可以找到。

有任何想法吗?如何输出太阳黑子日志以查看发生了什么?

我的 Gemfile 有以下内容,我正在运行 Rails 3.1.1

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

非常感谢,格雷姆

4

2 回答 2

9

没有正确阅读手册是我的错。

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

有必要在描述中添加一个神奇的位以确保 Solr 已启动。

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

:search => true很重要。

于 2011-11-08T16:04:17.627 回答
0

只是在上面的回复中添加一些内容;如果使用 FactoryGirl:

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

那么您不必在每个测试文件上添加提交调用...

于 2017-03-24T14:57:01.657 回答