为(快速)测试目的声明一个类很棒:
require 'fast_helper'
require 'site_search'
class Post; end # This allows not to load the whole Rails env
describe SiteSearch do
it "searches on posts" do
Post.stub_chain(:scoped, :by_term).with("ruby").and_return ["post1", "post2"]
SiteSearch.by_term("ruby").should == ["post1", "post2"]
end
end
它的问题在于,当整个规范套件运行时,它似乎会破坏 Rails 模型的自动加载。
之前声明类时不再加载模型。
- 声明类(如示例here)
- 设置/删除常量
- 存根包装器方法
- 实际加载它们
我只想使用第一个。
问题:保持相同的规范结构,即使已经声明了类,我如何告诉 rails 实际加载模型?