我的专题文件:
Feature: home page links
Background: I am on the home page
Given I am on the home page
Scenario: I visit the about page
When I follow "About"
Then I should be on the about page
在我的paths.rb中,我有
when /the home\s?page/ then root_path
和rake路线给出:
root /(.:format) {:controller=>"home", :action=>"home"}
当我尝试运行“bundle exec cucumber”时,我收到消息:
undefined local variable or method `controller' for #<HomeController:0xb29583c> (ActionView::Template::Error)
<a lot of crap>
./features/step_definitions/web_steps.rb:16:in `/^(?:|I )am on (.+)$/'
features/home_page.feature:4:in `Given I am on the home page'
Failing Scenarios:
cucumber features/home_page.feature:6 # Scenario: I visit the about page
这是一个微不足道的测试,但我不知道从哪里开始调查这个失败。有任何想法吗?感谢。
另外,我的Gemfile:
source :rubygems
gem "rails", "~>3.0"
gem "haml", "~>3.0"
group :test do
gem 'cucumber'
gem 'cucumber-rails'
gem 'nokogiri'
gem 'webrat'
end
group :development do
gem "rspec-rails", "~>2.0.pre"
gem "heroku"
gem "will_paginate", "~>3.0.pre2"
end
答案 0 :(得分:0)
我再也找不到警告了,但我认为Capybara gem现在推荐用于Rails3上的Cucumber。
好的,经过一些搜索后,它可能会正常工作,但请查看评论here。问题与你的问题不完全相同,但它可能是相关的。
答案 1 :(得分:0)
实际上,我曾经遇到过同样的问题。我认为Cucumber负责但看得更近,似乎错误在于你的观点:ActionView::Template::Error
Cucumber使用测试数据库,如果您的主页需要种子,则不会加载它们。
在你的情况下,似乎你写了一个被误解的controller
,可能在输入类似params[controller]