Stub с rspec / mocha в сценариях огурца
-
13-09-2020 - |
Вопрос
Я использую огурец в качестве BDD Framework с издевателем RSPEC / Mocha. В идеале мы бы не высмеивали / острую поведение в спецификациях огурцов; Однако сценарий здесь исключительный. Дать вам краткое представление о проблеме здесь; У меня есть два особенности функции продукта и корзина.
ФункцияКорзина в настоящее время насмемования некоторых продуктов Fetch из 3 Party System. А в CUCUMEN Run Cart функция работает до функции продукта. Функция продукта использует реальный вызов для некоторых сценариев. В идеале мы ожидали, что кломы уровня класса, такие как Product.Stub (: find), будут очищены после завершения сценариев; Однако это не так. Уровень класса Уровень задерживается на следующий сценарий огурца и мешать вызову.
Я взаимозаменяемо использовал Mocha и RSPEC, чтобы вызвать заглушки; но безрезультатно; В любом случае заглушка остается и предотвращает функцию моей продукции для выполнения функции тележки. Они оба бегают в изоляции.
Кто-нибудь столкнулся с аналогичным выпуском заглушек, не сбрасываемых в огурце? Есть ли способ, я могу восстановить оригинальное поведение класса?
Любая помощь будет оценена.
Приветствия
Решение
Для интеграции Mocha вы должны добавить следующее в файл в папке функций / поддержки (например, mocha.rb)
require "mocha"
World(Mocha::Standalone)
Before do
mocha_setup
end
After do
begin
mocha_verify
ensure
mocha_teardown
end
end
.
После блока должен освободить все издевательства.
Источник: http://gist.github.com/80554
Другие советы
Синтаксис немного отличается для Mocha 1.1:
require 'mocha/api'
World(Mocha::API)
Before do
mocha_setup
end
After do
begin
mocha_verify
ensure
mocha_teardown
end
end
.