В моих спецификациях моего контроллера я выполняю проверку? для некоторых тестов маршрутизации, (на основе Ryan Bates nifty_scaffold) следующим образом: -Есть ли способ отменить Mocha stubbing any_instance?
it "create action should render new template when model is invalid" do
Company.any_instance.stubs(:valid?).returns(false)
post :create
response.should render_template(:new)
end
Это хорошо, когда я проверить контроллеры в изоляции. У меня также есть следующее в моей спецификации модели.
it "is valid with valid attributes" do
@company.should be_valid
end
Снова это прекрасно работает при испытании изолированно. Проблема возникает, если я запускаю спецификацию для обеих моделей и контроллеров. Тест модели всегда терпит неудачу как действительный? метод был заглушен. Есть ли способ, чтобы я удалил stubbing any_instance, когда тест контроллера снесен.
У меня возникла проблема, запустив тесты в обратной алфавитной последовательности, чтобы гарантировать, что тесты модели выполняются перед контроллерами, но мне действительно не нравятся мои тесты, зависящие от последовательности.
Хотя решение правильное, объяснение не является. Mocha не обнаруживает RSpec, но когда конфигурация RSpec установлена, как описано, RSpec вызывает Mocha в соответствующих точках. –
Обновлен комментарий. Спасибо @floehopper –