Saya ingin melakukan sesuatu seperti ini:
some_method.should_raise <any kind of exception, I don't care>
Bagaimana saya harus melakukan ini?
some_method.should_raise exception
... tidak bekerja.
Saya ingin melakukan sesuatu seperti ini:
some_method.should_raise <any kind of exception, I don't care>
Bagaimana saya harus melakukan ini?
some_method.should_raise exception
... tidak bekerja.
expect { some_method }.to raise_error
Sintaks RSpec 1:
lambda { some_method }.should raise_error
Lihat dokumentasi (untuk sintaksis RSpec 1) dan dokumentasi RSpec 2 untuk lebih lanjut.
RSpec 2
Catatan:
raise_error
danraise_exception
dapat dipertukarkan.RSpec 1
Catatan:
raise_error
adalah alias untukraise_exception
.Dokumentasi: https://www.relishapp.com/rspec
RSpec 2:
RSpec 1:
sumber
Alih-alih lambda, gunakan harapkan untuk:
Ini berlaku untuk versi rspec yang lebih baru, yaitu rspec 2.0 dan lebih tinggi.
Lihat acara dokumenter untuk lebih.
sumber
expect
lebih baik atau lebih buruk daripadalambda
.expect { visit welcome_path }.to raise_error
Sintaks berubah baru-baru ini dan sekarang adalah:
sumber
Dari versi 3.3 on
rspec-expections
gem memunculkan peringatan untuk rais_error kosong tanpa parameterIni memberi Anda petunjuk bahwa kode Anda mungkin gagal dengan kesalahan yang berbeda dari tes yang dimaksudkan untuk memeriksa.
sumber