2012-09-04 54 views
2

我在寫一個rspec測試 - 出於某種原因,我被告知any_instance方法未定義。我很驚訝,因爲我在我的一個控制器rspec文件中有一個非常類似的期望 - 並且它工作正常。任何想法爲什麼會發生這種情況?Any_instance模型中未定義

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採取的是)

寶石 「RSpec的護欄」, 「> = 2.11.0」:組=> [:development,:test]

謝謝!

回答

7

真的很清楚:你沒有在it區塊中包裝你的測試。就這樣。

+0

哦該死的。現在不好意思問這個。謝謝! – Karan

+1

你知道嗎?它讓我瘋狂了一次,我剛剛吸取了教訓;) – apneadiving

+2

@Newton:這發生在每個RSpec用戶的某個時刻。這就像啓動。所以慶祝 - 今天你是一個男人! – zetetic