2009-06-29 78 views
6

看起來像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' 
... 

這裏是當同樣的問題在瀏覽器中複製什麼軌顯示:

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也沒有例外。而且我的模板沒有幾個部分和一個佈局。沒有線索,很有調查。

是否有任何祕密插件拉黃瓜顯示完整的錯誤?

+0

你的問題標題會製作出好的歌曲或電視連續劇集標題,但不是一個SO問題,所以我改變了它:) – karim79 2009-06-29 21:53:38

回答

8

正確答案(感謝cuke google組)在運行黃瓜時使用--backtrace選項。

-1

也許幫助不大,但@cart對象似乎沒有被實例化。檢查你的控制器,以便它。

+1

問題不在於錯誤本身,而是cuke無用的事實報告細節。 – artemave 2009-06-29 22:21:26

1

您可以在您的features/support.env中的以下行註釋以使用Rails錯誤處理。

Cucumber::Rails.bypass_rescue 

您還可以使用tail -f log/test.log來關注日誌。