5

私は、 wash_out gemを使用して Rails コントローラーを実装しました。

私のコントローラーは次のようになります。

class TestController < ApplicationController
  include WashOut::SOAP

  soap_action "int_to_string",
              :args   => :integer,
              :return => :string
  def int_to_string
    render :soap => params[:value].to_s
  end
end

ルート.rb:

MyApp::Application.routes.draw do
  wash_out :test
end

このコントローラーを Rspec でテストする方法がわかりません。

何か案は?

4

2 に答える 2

2

このリンクでは、良いアプローチを見つけることができます

http://blog.johnsonch.com/2013/04/18/rails-3-soap-and-testing-oh-my/

アプローチは次のとおりです。

  • savonrb gem でクライアントを作成する
  • テストの結果を比較する
于 2016-02-04T22:10:53.857 に答える
0

you can spec the default wsdl route with something like:

 require "spec_helper"

describe MywsdlController do
  describe "routing" do

    it "mywsdl/wsdl route to mywsdl#_generate_wsdl" do 
      get("/mywsdl/wsdl").should route_to("mywsdl#_generate_wsdl")
    end

  end
end

then Id suggest to have a soap dir within spec one and a spec file per available service so you can init soap client before:each with testing params, that might give you a spec scenario.

于 2013-09-18T17:17:52.633 に答える