Tôi có một phương thức sử dụng DateTime.now để thực hiện tìm kiếm trên một số dữ liệu, tôi muốn kiểm tra phương thức với các ngày khác nhau nhưng tôi không biết cách làm sao DateTime. bây giờ tôi cũng không thể làm cho nó hoạt động với Timecop (nếu nó hoạt động như thế).Rails - Thử nghiệm một phương thức sử dụng DateTime.now
Với thời gian cảnh sát tôi đã cố gắng
it 'has the correct amount if falls in the previous month' do
t = "25 May".to_datetime
Timecop.travel(t)
puts DateTime.now
expect(@employee.monthly_sales).to eq 150
end
khi tôi chạy spec tôi có thể thấy rằng đặt DateTime.now cho 2015-05-25T01:00:00+01:00
nhưng có puts cùng DateTime.now trong phương pháp Tôi đang thử nghiệm kết quả đầu ra 2015-07-24T08:57:53+01:00
(ngày nay ngày). Làm cách nào tôi có thể thực hiện việc này?
------------------ cập nhật --------------------------- ------------------------
Tôi đã thiết lập hồ sơ (@employee, v.v.) trong khối before(:all)
dường như đã gây ra vấn đề. Nó chỉ hoạt động khi thiết lập được thực hiện sau khối Timecop do
. Tại sao điều này là trường hợp?
Mã của bạn nên hoạt động (chỉ cần nhớ gọi 'Timecop.return' khi bạn hoàn tất). Bạn có thể dán phần thân của phương thức 'monthly_sales' được không? – tompave
phương pháp không liên quan khác với phương thức gọi DateTime.now –
Sau đó, tôi sợ rằng tôi không thể giúp bạn. – tompave