lib / gcm.rbにモジュールがあります:
require "net/http"
require "uri"
module GCM
def self.dispatch_message(reg_ids, data)
url = URI.parse(GCM_URL + "/send")
@msg = { :registrationIds => reg_ids, :data => data }
request = Net::HTTP::Post.new(url.path)
request.content_type = 'application/json'
request.body = @msg.to_json
response = Net::HTTP.start(url.host, url.port) { |http| http.request(request) }
end
end
dispatch_message
コントローラーの1つでが呼び出されることをテストしたいと思います。
it "should dispatch a GCM message" do
post :create, :post => @attr, :format => :json
GCM.should_receive(:dispatch_message)
end
しかし、その失敗:
PostsController POST 'create' should dispatch a GCM message
Failure/Error: GCM.should_receive(:dispatch_message)
(GCM).dispatch_message(any args)
expected: 1 time
received: 0 times
重要な場合は、WebMockとのネットワーク接続を無効にしました。
ここで何が欠けていますか?