response.should render_template在带有rails 3的黄瓜帮助文件中不起作用

时间:2011-02-01 06:42:17

标签: ruby-on-rails ruby-on-rails-3 cucumber

我开始使用Rails开发并尝试建立一个使用RSpec和Cucumber进行测试的Rails 3网站。

对于Cucumber设置,我正在利用我之前工作过的项目的帮助文件(我不是开发人员,但参与编写测试和小调整)。

我想要实现的简单方案是:

Scenario: 1. Load the home page
  When I browse to the 'home' page
  Then I should see the 'home' page

这取决于黄瓜辅助文件中的以下内容:

Then "I should see the '$page_name' page" do |page_name|
    if SITE_PAGES[page_name]
      response.should render_template SITE_PAGES[page_name][:template]
    else
      raise "step_definitions/helper.rb: I couldn't find the page you requested"
    end
end

运行该功能时,我收到以下错误:

undefined method `render_template' for #<Cucumber::Rails::World:0x..fdb7fbf9c>    (NoMethodError)
./features/support/helper.rb:97:in `/^I\ should\ see\ the\ '(.*)'\ page$/'
features/pages.feature:8:in `Then I should see the 'home' page'

这是一个Rails 3问题吗?我发现这个链接提到了最新版本的Rails已被弃用。这是我的问题还是我完全偏离轨道?

render_template API

提前致谢。

1 个答案:

答案 0 :(得分:0)

好的,我是冲洗器。编写旧的帮助文件是为了与webrat一起使用。由于我的新安装是黄瓜/水豚,一些东西不起作用。

哦,但如果你收到这个错误:

undefined local variable or method `node'

然后参考这篇文章:

Cucumber/Capybara test no longer run in Rails 3 project