Saya terjebak dengan masalah saat menguji pengontrol saya dengan RSpec - panggilan response.body selalu mengembalikan string kosong. Di browser semuanya dirender dengan benar, dan tes fitur mentimun tampaknya melakukannya dengan benar, tetapi RSpec gagal setiap saat.
Harapan lain pada objek respon, seperti response.should render_template('index')
lulus tanpa masalah.
Apakah ada di antara Anda yang pernah mengalami masalah ini sebelumnya? Mungkin tanggapan html dapat diperoleh dengan cara lain?
Sedangkan untuk versinya, Rails 2.1.0, RSpec 1.2.7.
sumber
RSpec 2+: Jika Anda ingin memeriksa end to end - url to response body - gunakan spesifikasi permintaan alih-alih spesifikasi pengontrol .
sumber
Ketika saya menangani masalah serupa (yang membawa saya ke pertanyaan ini), terpikir oleh saya bahwa ada cara berbeda untuk menguliti kucing yang sama. Dengan kata lain, daripada memeriksa teks isi, Anda mungkin dapat memeriksa konten flash.
mungkin merupakan cek yang setara dengan:
Bagi saya yang terakhir tampaknya sedikit lebih fleksibel karena dapat berjalan dengan baik, tetapi mungkin tidak sesuai di semua kasus.
Bersulang,
John
sumber
Secara default, konfigurasi RSpec-rails menonaktifkan rendering template untuk spesifikasi pengontrol
Salah satu cara untuk memperbaikinya adalah dengan memastikan untuk mengaktifkan
render_views
pengaturan dirails_helper.rb
file Anda . Dengan cara ini, Anda membuatnya dapat berfungsi secara global di semua pengujian Anda.Atau gunakan deklarasi render_views sebagai grup individu:
Anda dapat membaca lebih lanjut tentang ini di sini .
sumber