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

您可以使用以下内容指定默认 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

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

于 2013-09-18T17:17:52.633 回答