Новичок rspec здесь. Я понимаю, что могу уничтожить метод тестируемого объекта, используя 'allow () .to receive () .and_return', но если сам объект, который я тестирую, использует другой объект, который имеет дорогой метод, как я могу заглушить затраты?) часть e внутри этого метода, но все еще тестируете остальную часть метода?
То есть, если у меня есть метод, подобный
class Foo
def process
data = DataModel.fetch_data #<-- the expensive process.
if verify(data)
[do things]
end
end
private
def verify(data)
[...]
end
end
Итак, как мне написать тест rspec, в котором я могу предоставить методу процесса данные теста, чтобы я мог проверить, правильно ли работают проверки и «делают ли что-то»? Я не хочу выполнять DataModel.fetch, потому что это отнимает много времени и дорого. (Рельсы 5.2)