Rails从控制器规范

时间:2015-05-20 21:27:06

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

我有一个控制器操作响应js响应。此js响应实际上会产生另一部分响应。我想要一个控制器测试,以防部分或js文件出错。

控制器:

class ZonesController < ApplicationController
  def library_zones
  end
end

library_zones.coffee:

$("#zoneSelectionPlaceholder").html("<%= j(render 'library_zones') %>")

_library_zones.html.haml(注意我调用模型BadName,试图收到错误):

= collection_select(:zones, :zone_id, BadName.library_zones, :id, :description, {prompt: 'Zone to Add...'}, {id: 'zoneToAddSelection'})

routes.rb:

resources :zones do
  collection do
    get 'library_zones
  end
end

规格:

RSpec.describe ZonesController, type: :controller do
  describe 'library_zones' do
    it 'renders library_zones.js template' do
      xhr :get, :library_zones
      expect(response).to render_template('library_zones')
      expect(response.status).to eq(200)
    end
  end
end

我的所有规格都在传递。我已尝试将haml解析错误引入_library_zones.html.haml文件,并尝试将js错误引入librarys_zones.coffee文件,但似乎没有任何内容导致此测试失败。

  • RSpec 3.1.7

1 个答案:

答案 0 :(得分:0)

默认情况下,除非您专门启用,否则控制器规范不会呈现视图:

https://www.relishapp.com/rspec/rspec-rails/v/3-0/docs/controller-specs/render-views