Hiện nay khi tôi có một phương pháp chậm trong mã của tôi như sau:Cách tốt nhất để kiểm tra chuỗi delay_job bằng rSpec là gì?
CommentMailer.delay.deliver_comments(@comment, true)
tôi viết một cái gì đó như thế này trong spec của tôi:
dj = mock("DelayProxy")
CommentMailer.should_receive(:delay).and_return(dj)
dj.should_receive(:deliver_comments).with(comment, true)
Có cách nào tốt hơn để xử lý này và/hoặc phương pháp xích như vậy trong rSpec nói chung?
Sử dụng 'stub' từ cũ 'rspec-mocks': Cú pháp should' mà không cho phép một cách rõ ràng là cú pháp không được chấp nhận trong rspec-3. Điều này dường như làm việc 'mong đợi (CommentMailer). Để nhận được (: chậm trễ) .and_return (CommentMailer)'. Nếu bạn không muốn kiểm tra nó một cách rõ ràng, bạn có thể sử dụng 'allow' thay vì' expect'. – Pete