2015-06-27 7 views
0

В этом примере я использую gem rr и заглушку объекта-объекта, который здесь obj.project, и присваивает возвращаемое значение любой переменной (в данном случае это project_data), когда метод вызывается из любого другого метода или класса.Метод мозаики gem stub и назначить ответ

obj = Object.new 
    project_data = nil 

    stub(obj).project { |*x| project_data = x } 

Когда я позвонил какой-либо метод, который вызывает метод проекта с OBJ, project_data будет назначен возвращенного значения obj.project метода. Есть ли способ реализовать этот метод с помощью mocha gem? Я искал возможные решения, но я не мог найти решения

ответ

0

В мокко with позволяет указать параметр. Вы можете передать блок, чтобы выполнить произвольный тест по параметру (-ам), переданному к обрезаемому методу.

Блок должен возвращать true или false в зависимости от того, является ли параметр приемлемым значением. В этом примере я всегда возвращаю true, так как вы не указали какие-либо ограничения на допустимый параметр.

Однако важный бит заключается в том, что, поскольку блок выполняется при каждом вызове заглушки, вы можете выполнить назначение project_data. Пример:

obj = Object.new 
project_data = nil 
obj.stubs(:project).with { |x| project_data = x; true } 

 Смежные вопросы

  • Нет связанных вопросов^_^