我在存根方面遇到了一些麻烦,我想我一定是误解了它们的工作方式。
存根仅存在于它们创建的上下文中吗?这是我的期望,但根据我的经验,如果我在一个上下文中存根一个方法,它仍然存在于另一个上下文中。
我的控制器测试与此类似:
describe '.load_articles' do
context 'articles' do
before(:each) do
Article.stub_chain(:meth1, :meth2).and_return(['article'])
end
it 'sets articles' do
controller.load_articles.should == ['article']
end
end
context 'no articles' do
before(:each) do
Article.stub_chain(:meth1, :meth2).and_return([])
end
it 'sets article' do
controller.load_articles.should == []
end
end
end
对于第二个示例,当我期待时controller.load_articles
仍然返回['article']
[]
我已经坚持了太久了;任何帮助是极大的赞赏!