Any_instance在模型中未定义

Kar*_*ran 2 rspec ruby-on-rails 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
Run Code Online (Sandbox Code Playgroud)

错误

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

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

gem"rspec-rails","> = 2.11.0",:group => [:development,:test]

谢谢!

apn*_*ing 7

真的很清楚:你没有把你的测试包裹起来it.就这样.

  • @Newton:在某些时候,每个RSpec用户都会遇到这种情况.这就像一个启蒙.所以庆祝 - 今天你是一个男人! (2认同)