2011-04-03 32 views
0

有誰知道爲什麼我會收到以下錯誤,當我使用web_step#follow方法?黃瓜的web_step#遵循使用水豚產生NameError

When I follow "Stuff" within "#main-nav"    # features/step_definitions/web_steps.rb:33 
    undefined local variable or method `node' for #<Capybara::Driver::RackTest::Node:0x00000101409b40> (NameError) 
    ./features/step_definitions/web_steps.rb:35:in `block (2 levels) in <top (required)>' 
    ./features/step_definitions/web_steps.rb:14:in `block in with_scope' 
    ./features/step_definitions/web_steps.rb:14:in `with_scope' 
    ./features/step_definitions/web_steps.rb:34:in `/^(?:|I)follow "([^"]*)"(?: within "([^"]*)")?$/' 

這是HTML輸出:

<ul id='main-nav'> 
    <li><a href="/things">Things</a></li> 
    <li><a href="/stuff">Stuff</a></li> 
</ul> 

P.S.我已經刪除了webrat,並且完全使用水豚

在此先感謝!

+0

如果您顯示您正在使用的*實際*代碼,以便我們都調試相同的問題,這將非常有幫助。 – 2011-04-03 03:08:42

回答

1

每:https://github.com/jnicklas/capybara/issues/110

註釋掉這一行env.rb

require 'cucumber/rails/capybara_javascript_emulation'

注:評論該行後都會有,如果你想明確地與@javascript標記的功能/場景點擊鏈接與onclick JavaScript處理程序。

另請參閱:https://github.com/aslakhellesoy/cucumber-rails/issues/77最終會帶你去發現它的旅程應該在cucumber-rails v0.4.0(2011-03-20)中修復。這可能仍然與Rails 2.3.x項目使用的人相關cucumber-rails v0.3.2

1

這意味着您的頁面的實際輸出不包含您要搜索的元素。例如,如果您有with_scope("#my_div"),但您的內容沒有任何帶有編號my_div的div,則會引發此異常。

我建議在失敗的步驟之前嘗試添加Then show me the page的黃瓜步驟,並調查生成的頁面的來源。

+0

感謝您的提示。 '顯示我的網頁'!請參閱我更新的帖子 – Coderama 2011-04-19 10:54:31