2015-09-19 2 views
1

Я привык к PHPUnit, поэтому я обнаружил, что RSpec хуже, когда речь идет о том, что пошло не так, где и почему.RSpec - Как получить сообщение об ошибке?

Например, в PHPUnit, я могу получить трассировку стека, когда возникает исключение (и даже с опцией -b в RSpec, все, что я могу получить это трассировка стека исключений RSpec, а не Rails в)

Кроме того, при возникновении некоторой ошибки он показывает значение ACTUAL и значение ОЖИДАЕМЫЙ.

Эти две функции, которые я хотел бы достичь в RSpec. Получение подробного сообщения об ошибке, включающего трассировку стека, в случае исключения Ruby или Rails, и знать, что было фактическим значением.

Любые идеи о том, как это сделать?

+0

Пожалуйста, покажите свой тестовый и консольный выходы. –

+0

На самом деле, я ожидал трассировку стека из-за нарушения проверки наличия, но я вызывал действительный? пока сэкономьте! это метод, который выдает исключение. Я не верю, что я был отвлечен – Aleksandrus

ответ

4

Если запустить

rspec --help 

вы увидите все параметры, которые можно пройти (или настроить с помощью RSpec.configure) для бегуна. Один из заставит RSpec, чтобы показать всему трассировку

-b, --backtrace     Enable full backtrace. 

Вы также можете настроить excluded/included линии, чтобы контролировать, насколько глубоко вы хотите трассировку идти.

Что касается фактических значений и ожидаемого значения, это поддерживается по умолчанию в RSpec. Смотрите, например

enter image description here

Для определенных пользователем объектов, также распечатать диф.

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