2010-05-26 23 views
7

Estoy desarrollando una aplicación de Rails, y estaba hablando con mi colega que tenemos una combinación de accesorios y burlas en nuestras pruebas, que estamos haciendo con pepino y Rspec. La pregunta sería: ¿cuándo debería usarse cada uno?Rails Fixtures vs. Mocks

+1

tipo de tema fuera de lugar, pero una alternativa muy buena para los accesorios es factory_girl (se puede usar lado a lado con los accesorios también) http://github.com/thoughtbot/factory_girl#readme y aquí hay una transmisión sobre uso http://railscasts.com/episodes/158-factories-not-fixtures – house9

Respuesta

14

Usaría un objeto simulado cuando el uso del objeto real sea impracticable/innecesario. Digamos, por ejemplo, que necesita llamar a una API remota, como un buscador de direcciones a través de un código postal. Probablemente quiera burlarse del objeto para que las llamadas no se realicen cada vez que ejecute las pruebas. También existen otros motivos, como la mejora de la velocidad, la solicitud de datos que cambian donde necesita una respuesta exacta o quizás todavía no existe. Le permite probar cosas en forma aislada ya que puede determinar que cuando llame a estos métodos en este objeto simulado lo recuperará y no necesita ejecutar el código ya que para esta prueba no es importante.

Si utiliza accesorios, tendrá un objeto real y se llamarán los métodos, y se ejecutará su código, a menos que, por supuesto, reste los métodos, lo cual es algo para otra pregunta.

Espero que ayude un poco. Hay un buen código de peepcode (http://peepcode.com/products/rspec-mocks-and-models) en burlas y trozos, quizás échele un vistazo.

+0

gracias. lo explicaste muy claro. – Anand