Vì vậy, tôi đã khá chắc chắn điều này sẽ làm việc ...Làm thế nào để kiểm tra xem có sự thay đổi từ Nil trong RSpec
expect { file.send(:on_io) {} }.to change{
file.io.class
}.from(NilClass).to(File)
nhưng nó không thành công với thông điệp này ...
result should have initially been NilClass, but was NilClass
Hu?
Trước hết, tại sao điều này trở lại dưới dạng lỗi? Thứ hai, tôi biết bình thường bạn có thể kiểm tra số nil với be_nil
bằng cách sử dụng phương thức nil?
. Có một số cách đặc biệt để làm điều này với một from().to()
trong RSpec?
nếu 'nil === NilClass' trả về false, không phải' file.io === File' cũng trả về false (giả sử 'file.io' là một thể hiện của' File') không? – webdesserts
Nhưng thử nghiệm sẽ là 'File === file.io', đó là toàn bộ điểm :) –
Ahh ok, các đối số trong' to' và 'from' được so sánh với giá trị trả về thay vì ngược lại. Có ý nghĩa. Cảm ơn bạn đã giải thích mọi thứ tốt! – webdesserts