我已经使用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
routes.rb中:
MyApp::Application.routes.draw do
wash_out :test
end
我不知道如何用Rspec测试这个控制器。
有什么想法吗?
答案 0 :(得分:2)
在此链接中,您可以找到一个好的方法
http://blog.johnsonch.com/2013/04/18/rails-3-soap-and-testing-oh-my/
该方法是:
答案 1 :(得分: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
然后我建议在规范1中有一个soap目录,每个可用服务都有一个spec文件,这样你就可以在之前启动soap客户端:每个都有测试参数,这可能会给你一个规范场景。