rails spec中的UnknownFormat

时间:2015-02-13 15:53:16

标签: ruby-on-rails-4 rspec-rails

我对rails很新,我正试图从控制器动作返回一个javascript文件。在TDD方式中,我首先尝试编写一个失败的测试,虽然我已经解决了一系列原因,但是从启动开始就失败了,我现在正面临着一个我不确定如何解决的错误。如果我在浏览器中运行它,它可以工作。但运行规范我得到一个错误“ActionController :: UnknownFormat”指向respond_to do | format |线。

这是控制器动作......

def job_board
    respond_to do |format|
      format.js
    end
  end

我的规格

require 'rails_helper'

RSpec.describe ApiController, :type => :controller do
  describe "when using an invalid url/api key" do
    it "should return error" do
      get :job_board
      expect(response).to have_http_status(400) #bad request
    end
  end
end

最后我的路线。

Rails.application.routes.draw do
  get 'api/job_board' => 'api#job_board', defaults: { format: 'js'}
end

知道为什么规范会抛出这个错误?感谢。

1 个答案:

答案 0 :(得分:0)

弄清楚了。我不得不改变

get :job_board 

中的

get :job_board, format: :js