Saya memiliki tindakan pengontrol yang merespons dengan respons js. Respons js ini sebenarnya membuat sebagian lagi. Saya ingin tes pengontrol jika file parsial atau js pernah mengalami kesalahan.

Pengontrol:

class ZonesController < ApplicationController
  def library_zones
  end
end

Library_zones.kopi:

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

_library_zones.html.haml (perhatikan saya menyebut model BadName, mencoba mendapatkan kesalahan):

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

Route.rb:

resources :zones do
  collection do
    get 'library_zones
  end
end

Spesifikasi:

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

Semua spesifikasi saya lewat. Saya telah mencoba memasukkan haml kesalahan penguraian ke dalam file _library_zones.html.haml serta mencoba memasukkan kesalahan js ke dalam file librarys_zones.coffee, tetapi sepertinya tidak ada yang menyebabkan pengujian ini gagal .

  • Spesifikasi RS 3.1.7
0
Tyler DeWitt 21 Mei 2015, 00:27

1 menjawab

Jawaban Terbaik

Secara default, spesifikasi pengontrol tidak merender tampilan kecuali Anda secara khusus mengaktifkannya:

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

0
Andy Waite 21 Mei 2015, 00:35