Any_instance在模型中未定义

时间:2012-09-04 18:52:58

标签: ruby-on-rails rspec stubbing

我正在编写一个rspec测试 - 由于某种原因,我被告知方法any_instance是未定义的。我很惊讶,因为我在我的一个控制器rspec文件中有一个非常相似的期望 - 它工作正常。任何想法为什么会发生这种情况?

require 'spec_helper'

describe Subscriber do

  it {should belong_to :user}

  describe "send_message should use mobile to send message" do
    subscriber = Subscriber.new(:number => "123")
    Mobile.any_instance.should_receive(:send_sms).with("123")
    subscriber.send_message("hello!")
  end
end

错误

/subscriber_spec.rb:9:in `block (2 levels) in <top (required)>': 
undefined method `any_instance' for Mobile:Class (NoMethodError)

我的rspec版本(取自我的gemfile)

  

gem“rspec-rails”,“&gt; = 2.11.0”,:group =&gt; [:开发,:测试]

谢谢!

1 个答案:

答案 0 :(得分:7)

非常明确:您没有将测试包裹在it块中。就是这样。