RSpec控制器测试:创建时缺少模板

ale*_*333 6 ruby rspec ruby-on-rails

我有一个有趣的情况.我正在测试以下简单的创建操作:

# will only be accessed via Ajax 
def create
 click = Click.new(params[:click])
 click.save # don't really care whether its success or failure
end
Run Code Online (Sandbox Code Playgroud)

然后我有以下非常简单的控制器规范:

require 'spec_helper'

describe ClicksController, "creating a click" do
  it "should create a click for event" do
    xhr :post, :create, :click => {:event_id => 1}
    # more test to come...
  end
end
Run Code Online (Sandbox Code Playgroud)

看似微不足道,但我得到以下内容:

缺少模板点击/创建

任何提示将不胜感激.

meg*_*gas 11

添加到控制器操作:

render :nothing => true
Run Code Online (Sandbox Code Playgroud)

这个将自动创建适当的服务器的响应.更多这里


小智 5

如果您的控制器仅呈现JSON或XML,但您未在规范中指定格式,则会出现此错误; 您的请求默认为不支持的HTML.在这种情况下,只需在从规范中调用控制器方法时指定支持的格式.例如,改变这个:

post :create, registration: @user_hash
Run Code Online (Sandbox Code Playgroud)

对此:

post :create, registration: @user_hash, format: :json
Run Code Online (Sandbox Code Playgroud)