2

我正在编写一个 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", ">= 2.11.0", :group => [:development, :test]

谢谢!

4

1 回答 1

8

真的很清楚:您没有将测试包装在一个it块中。就这样。

于 2012-09-04T19:06:39.807 回答