Мокко: Молчание оправдало ожидания - PullRequest
1 голос
/ 15 ноября 2011

Очень часто, когда я пропускаю ожидания в модульном тесте с использованием мокко, он выплевывает десятки или сотни «удовлетворенных ожиданий», которые меня действительно не волнуют.Так много всего, что мне нужно перенаправить результаты тестирования во временный файл, что очень раздражает.

Я использую Rails 2.3 и Mocha 0.10.0.

Чтобы уточнитьта же проблема, что и в Mocha Mock Carries To Another Test , и решение там у меня не сработало.Однако, даже если я смогу решить эту проблему, я хотел бы подавить «удовлетворенные ожидания».

Спасибо.

1 Ответ

1 голос
/ 15 ноября 2011

Вы можете сделать это, чтобы добиться этого. В Mocha::Mockery есть метод, который возвращает удовлетворенные ожидания, которые вы можете исправить, чтобы получить пустой массив:

module Mocha
  class Mockery
    def satisfied_expectations
      []
    end
  end
end

Если вы введете это в test_helper.rb, оно будет поднято.

В качестве альтернативы для большей гибкости вы можете скрыть их, только если установлена ​​переменная окружения:

module Mocha
  class Mockery
    def satisfied_expectations_with_optional
      if ENV['MOCHA_HIDE_SATISFIED']
        []
      else
        satisfied_expectations_without_optional
      end
    end
    alias_method_chain :satisfied_expectations, :optional
  end
end

Затем запустите ваши тесты так:

> MOCHA_HIDE_SATISFIED=1 rake test
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...