Похоже, что cuke не отображает полное сообщение об ошибке (по крайней мере, когда проблема возникает в шаблоне), что очень затрудняет обнаружение проблемы.
Вот что он выводит при какой-то ошибке:
... And I am on checkout page # features/step_definitions/webrat_steps.rb:6 You have a nil object when you didn't expect it! The error occurred while evaluating nil.items (ActionView::TemplateError) features/manage_orders.feature:9:in `And I am on checkout page' ...
А вот что показывает rails при воспроизведении той же проблемы в браузере:
Showing app/views/cart/show.erb where line #46 raised:
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.items
Extracted source (around line #46):
43: </script>
44:
45: <% ths = %w{th_title th_price th_subtotal th_quantity}.collect {|th| t th.intern} %>
46: <% table(@cart.items, ths) do |cart_item, style| -%>
47: <tr class="<%= style %>">
48: <td width="60%"><%=h cart_item.title %></td>
49: <td width="20%"><%=number_to_currency cart_item.price %></td>
Первое слишком аккуратно. Не исключение и в cucumber.log. А в моем шаблоне есть несколько деталей и макет. Без подсказок, настоящее расследование.
Есть ли какой-нибудь секретный штекер, который нужно вытащить, чтобы огурец показывал полную ошибку?