1

私のコントローラーでは、パラメーターを使用してこの投稿リクエストを作成しましたが、完全に機能しました

parameters = {'email' => "email", 'password' => "password"}      
response = Net::HTTP.post_form(URI.parse('http://example.com/unsubscriptions'), {'q'=>parameters})
      if response.is_a?(Net::HTTPSuccess)
        @msg = "You have successfully unsubscribed."
      else
        @msg = "Resource not found."
      end

仕様コントローラーでは、これはコードです

   it "should return success message on a successfull Post request to api" do
              parameters = { "email" => 'email', "password" => "password" }
              Net::HTTP.should_receive(:post_form).with(
                  URI.parse("http://example.com/unsubscriptions"), "q" => parameters
              ).and_return(Net::HTTPSuccess)
              post :unsub_uk, parameters
              #assigns(:msg).should eq("You have successfully unsubscribed.")
              response.should be_success
    end

Net::HTTP.post_formこのリクエストを嘲笑することはできません。このタスクを実行するためのアイデアやその他の方法はありますか? 前もって感謝します。

4

1 に答える 1

0

gem webmockを使用するだけです。

返される値は Net::HTTPSuccess であるため、Believed は問題を解決します。

于 2013-07-16T18:06:57.257 に答える