如何使用Rspec测试wash_out控制器

ome*_*rgk 5 soap rspec ruby-on-rails

我已经使用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
Run Code Online (Sandbox Code Playgroud)

routes.rb中:

MyApp::Application.routes.draw do
  wash_out :test
end
Run Code Online (Sandbox Code Playgroud)

我不知道如何用Rspec测试这个控制器.

有任何想法吗?

Rol*_*ndo 0

您可以使用以下内容指定默认的 wsdl 路由:

 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
Run Code Online (Sandbox Code Playgroud)

然后我建议在规范一内有一个肥皂目录,并为每个可用服务提供一个规范文件,以便您可以在之前初始化肥皂客户端:每个都带有测试参数,这可能会给您一个规范场景。