2011-12-01 15 views
10

Parece que establecer cualquier expectativa de método de llamada con Mocha impide que se llame a la implementación original.Establezca la expectativa de la llamada al método mientras sigue llamando a la implementación original

This parece que cubre llamar al método original con rspec.

¿Hay alguna manera de hacer esto con Mocha? ¿O alguien sabe por qué esto no sería compatible?

+0

Desde entonces he pasado a la burla con rspec con excelentes resultados. – aceofspades

Respuesta

-4

Esto no es posible por un par de razones. Una razón es que probar el efecto secundario de un método y probar la invocación de un método se puede hacer más claramente en dos pruebas separadas. Otra razón que he leído es que en las pruebas unitarias puristas, no harías una afirmación sobre el efecto secundario de otro método. Debería probar la invocación y luego probar los efectos secundarios de los métodos llamados en pruebas unitarias para ese método específico.

+0

Downvoting: creo que confunde los valores de devolución y los efectos secundarios. –

+0

@ MarnenLaibow-Koser ¿Podría ser más específico? Puedo hacer una corrección si hay un error, pero elimine el voto a favor. – joshs

+0

Estás hablando de hacer "una afirmación sobre el efecto secundario de otro método", pero lo que el OP * parece * estar haciendo (aunque admito que es vago) es tratar de confiar en el * valor de retorno * de otro método. Eso es bastante diferente del efecto secundario. En cuanto al voto a favor, he votado negativamente porque creo que su respuesta fue incorrecta y engañosa (por las razones ya dadas). No eliminaré el voto negativo a menos que ya no crea que ese sea el caso. –

Cuestiones relacionadas