2010-07-10 10 views
6

Estoy usando pepino como el marco de BDD con burla rspec/mocha. Lo ideal sería que no se burla/comportamiento de trozo en las especificaciones de pepino; sin embargo, el escenario es excepcional aquí. Para darle una breve idea del problema aquí; Tengo dos funciones características del producto y la función de carrito.Trozo con Rspec/Mocha en los escenarios de pepino

En la actualidad, la función de carrito se burla de algunas de las capturas de productos del sistema de 3 partes. Y en la función de carrito de ejecución de pepino se ejecuta antes de la característica del producto. La característica del producto usa llamadas reales para algunos escenarios. Lo ideal sería esperar que los talones de nivel de clase como Product.stub (: find) se borren una vez que se completen los escenarios; Sin embargo, este no es el caso. Los trozos de nivel de clase permanecen en el siguiente escenario de pepino e interfieren con la llamada.

Utilicé indistintamente mocha y rspec para inducir los talones; pero no sirvió; en cualquier caso, el stub permanece y evita que mi característica de producto se ejecute después de la característica de carrito. Ambos funcionan bien en aislamiento.

¿Alguien ha enfrentado un problema similar al de los trozos que no se han restablecido en el pepino? ¿Hay alguna manera de restaurar el comportamiento de clase original?

Cualquier ayuda será apreciada.

Saludos

Respuesta

8

para la integración de moca, se debe añadir lo siguiente a un archivo en su características/carpeta de soporte (como mocha.rb)

require "mocha" 

World(Mocha::Standalone) 

Before do 
    mocha_setup 
end 

After do 
    begin 
    mocha_verify 
    ensure 
    mocha_teardown 
    end 
end 

El bloque después debe liberar a todos los simulacros.

Fuente: http://gist.github.com/80554

+0

impresionante. ¡Justo lo que necesitaba para deshacerme de la burla/punteado de rspec e irme con mocha! :) – Priyank

4

sintaxis es ligeramente diferente para moka 1.1:

require 'mocha/api' 

World(Mocha::API) 

Before do 
    mocha_setup 
end 

After do 
    begin 
    mocha_verify 
    ensure 
    mocha_teardown 
    end 
end 
Cuestiones relacionadas