я в настоящее время используется регистратор следующим образом:RSpec: Тестирование регистратора сообщений для блока синтаксиса
def log_stuff
logger.info { 'Info log message' }
logger.debug { expesive_action }
end
Но я хотел бы знать, если регистратор получает правильное сообщение с RSpec.
Если бы я просто передать протоколирование линии на вход, это было бы легко:
# logger.info('Info log message')
expect(logger_mock).to receive(:info).with('Info log message')
Но я не мог понять, как я мог бы сделать что-то подобное с синтаксисом блока.
Я специально хочу использовать этот синтаксис, так что expensive_action
вызывается только тогда, когда уровень журнала установлен в DEBUG.
И это слишком обременительно, чтобы просто рассчитать дорогостоящую операцию перед тестом, чтобы вы могли проверить ... Что, что работает функция отладки? –
У меня вопрос не возникает. Я могу, конечно, запустить дорогостоящее_действие в тесте, но в настоящее время я не знаю, как проверить результат по сравнению с оценкой блока. – leifg
Сравните их? ...... –