Я использую Огурец в качестве платформы BDD с насмешкой rspec/mocha. Идеально мы не дразнили бы/блокировали бы поведение в огуречных спецификациях; однако сценарий является исключительным здесь. Дать Вам краткую идею проблемы здесь; у меня есть две функции продукта функций и функция корзины.
Функция Cart в настоящее время дразнит часть выборки продукта из 3 партийных систем. И в огурце выполняет выполнения функции корзины перед функцией продукта. Функция продукта использует реальный вызов для некоторых сценариев. Идеально мы ожидали бы что тупики уровня Класса как Product.stub (: найдите), был бы очищен, после того как сценарии завершаются; однако дело не в этом. Тупики уровня класса задерживаются на следующем огуречном выполненном сценарии и вмешиваются в вызов.
Я попеременно использовал мокко и rspec для стимулирования тупиков; но никакая польза; в любом случае тупик остается и предотвращает мою функцию продукта для погони за функцией корзины. Они оба хорошо работают в изоляции.
Кто-либо столкнулся с подобной проблемой тупиков, не сбрасываемых в огурце? Существует ли путь, я могу восстановить исходное поведение класса?
Любая справка будет цениться.
Удачи
Для интеграции мокко вы должны добавить следующее в файл в папке features / support (например, mocha.rb)
require "mocha"
World(Mocha::Standalone)
Before do
mocha_setup
end
After do
begin
mocha_verify
ensure
mocha_teardown
end
end
Блок after должен освободить все моки.
Источник: http://gist.github.com/80554