Ruby on rails 模型中未定义的任何_实例

Ruby on rails 模型中未定义的任何_实例,ruby-on-rails,rspec,stubbing,Ruby On Rails,Rspec,Stubbing,我正在编写一个rspec测试——出于某种原因,我被告知任何_实例的方法都是未定义的。我很惊讶,因为我在我的一个控制器rspec文件中有一个非常相似的期望——而且它工作得很好。你知道为什么会这样吗 require 'spec_helper' describe Subscriber do it {should belong_to :user} describe "send_message should use mobile to send message" do subscri

我正在编写一个rspec测试——出于某种原因,我被告知任何_实例的方法都是未定义的。我很惊讶,因为我在我的一个控制器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)
/subscriber\u spec.rb:9:in'block(2层)in':
Mobile:Class(NoMethodError)的未定义方法“any_instance”
我的rspec版本(取自我的GEMIS文件)

gem“rspec rails”,“>=2.11.0”,:group=>[:开发,:测试]


谢谢

非常清楚:您没有将测试包装在
it
块中。就这些。

哦,该死的。很不好意思现在问这个问题。谢谢你知道吗?有一次它让我发疯了,我刚刚吸取了教训;)@牛顿:每一个RSpec用户在某个时候都会遇到这种情况。这就像是一次启蒙。所以庆祝一下——今天你是个男子汉了!如果在RSpec中使用
before
块,并且存在一些混淆:这适用于
before:each
块,但不适用于
before:all
块。