Часто, когда тест завершается неудачно, я потратил довольно много времени на то, чтобы выяснить, что привело к его провалу. Было бы полезно, если RSpec мог запустить отладчик Ruby, когда тест завершился неудачно, так что я могу сразу проверить локальные переменные, чтобы развернуть причину.Запустите отладчик ruby, если проверка rspec не удалась
Работа вокруг я использую сейчас выглядит примерно так:
# withing some test
debugger unless some_variable.nil?
expect(some_variable).to be_nil
Однако такой подход является громоздким, потому что я сначала ждать тест на провал, а затем добавить отладчик строку, исправить проблема, а затем удалить строку отладчика, в то время как я хочу, чтобы она работала больше, чем gdb
, которая имеет возможность ударить, когда удалено исключение, без необходимости перекопать базу кода с помощью debugger
операторов.
Редактировать: Я пробовал Плимут. Для меня это не работало достаточно надежно. Кроме того, история развития, по-видимому, указывает на то, что она не очень хорошо поддерживается, поэтому я бы предпочел не полагаться на нее.
Обновление:: Я пробовал pry-rescue
и нашел, что оно опрятно. Тем не менее, я часто использую zeus и задавался вопросом, есть ли способ заставить его работать с pry-rescue
.
спасибо - Я сделаю это. – Vighnesh
Есть ли способ сделать эту работу с 'zeus'? – Vighnesh
Просто попробовал его с новейшей версией zeus и pry-rescue, не работает – 23tux