Actualmente cuando tengo un método de retraso en mi código como el siguiente:¿Cuál es la mejor manera de probar las cadenas retrayed_job con rSpec?
CommentMailer.delay.deliver_comments(@comment, true)
escribo algo como esto en mi especificación:
dj = mock("DelayProxy")
CommentMailer.should_receive(:delay).and_return(dj)
dj.should_receive(:deliver_comments).with(comment, true)
¿Hay una mejor manera de manejar esto y/o métodos encadenados como ese en rSpec en general?
Uso de 'stub' de edad rspec-burla ': la sintaxis should' sin habilitar explícitamente la sintaxis es obsoleto en rspec-3. Esto parece funcionar 'expect (CommentMailer) .to receive (: delay) .and_return (CommentMailer)'. Si no quieres probarlo explícitamente, puedes usar 'allow' en lugar de' expect'. – Pete