Dosya gönderen denetleyici eylemi nasıl test edilir? RSpec send_file testing
Ben controller.should_receive(:send_file)
testi ile yaparsanız
Dosya gönderen denetleyici eylemi nasıl test edilir? RSpec send_file testing
Ben controller.should_receive(:send_file)
testi ile yaparsanız
çalışan bir başka yoludur:
Bana görecontroller.should_receive(:send_file).and_return{controller.render :nothing => true}
, bu gerçeği yakaladığı send_file
amaçlanan yan etkisi başka hiçbir şeyin yapılmamasını sağlamaktır. (Gerçi, kuşkusuz saplama orijinal nesne üzerinde bir yöntemi çağırmak için biraz sakat görünüyor.)
Raylar 4, RSpec 3: ''ve_return {value}' kullanımdan kaldırılmıştır. 'And_return (value)' veya 'and_return' olmadan bir uygulama bloğu kullanın. ' –
Ayrıca yapabilirsiniz:
result = get ....
result.body.should eq IO.binread(path_to_file)
Güzel, bunu neden ben düşünmedim :) – Mirko
RSpec'in daha yeni sürümlerini kullanarak bunu görüntüleyen herkes için, 'stub!' Kullanımdan kaldırıldı. Sadece 'stub' –
kullanın Ve Rspec 3'te 'izin (controller) .to almak için (: render)' – mehulkar