我遇到了Cucumber给我带来无法使用的错误信息的麻烦,或者也许这是我可以改变的Rails设置?这是我的错误消息:
expected to find text "edit" in "Internal Server Error undefined method `empty?' for nil:NilClass WEBrick/1.3.1 (Ruby/2.0.0/2013-05-14) at lvh.me:58126" (RSpec::Expectations::ExpectationNotMetError)
./features/step_definitions/products.rb:83:in `/^I visit that product$/'
features/product_edit.feature:6:in `And I visit that product'
我找不到错误的地方没有文件+行。有谁知道我怎么能带回有意义的错误信息?这是堆栈:
cucumber (1.3.3)
builder (>= 2.1.2)
diff-lcs (>= 1.1.3)
gherkin (~> 2.12.0)
multi_json (~> 1.7.5)
multi_test (~> 0.0.1)
cucumber-rails (1.3.1)
capybara (>= 1.1.2)
cucumber (>= 1.2.0)
nokogiri (>= 1.5.0)
rails (~> 3.0)
poltergeist (1.3.0)
* 更新:* 我刚才意识到这只会在使用Poltergeist时发生。
答案 0 :(得分:0)
实际上它会给你两个有用的提示:
./features/step_definitions/products.rb:83
和
./features/product_edit.feature:6
信息非常好。 Cucumber告诉你,product_edit.feature
中定义的功能没有通过验证,因为服务器在重现And I visit the product
步骤时返回错误500.
Cucumber与服务器无关,并且不会与底层的Rails世界“交谈”。
你应该做的是查看steps_definitions/products.rb
文件,第83行,看看你在那里做了什么。然后在浏览器中重现这些步骤,看看出了什么问题。可能它与特定的产品展示页有关。