Rails教程 - 奇怪的RSpec行为

时间:2012-04-09 11:50:37

标签: ruby-on-rails-3 railstutorial.org

我目前正处于Rails教程(测试版)的section 10.3.2,并遇到了RSpec的一些问题。

完全

rspec spec/ runs,但如果按照教程中的描述rspec spec/requests/micropost_pages_spec.rb,我会收到以下错误:

Failures:

  1) Micropost pages micropost creation with invalid information should not create a micropost
     Failure/Error: before { visit root_path }
     ActionView::Template::Error:
       undefined method `model_name' for NilClass:Class
     # ./app/views/shared/_micropost_form.html.erb:1:in `_app_views_shared__micropost_form_html_erb__567210303736562711_70234980477780'
     # ./app/views/static_pages/home.html.erb:8:in `_app_views_static_pages_home_html_erb___61006871036382679_70234970424160'
     # ./spec/requests/micropost_pages_spec.rb:11:in `block (3 levels) in <top (required)>'

在网络浏览器中手动执行测试似乎也很完美。

不确定我是否做错了或教程中是否存在“错误”。任何人都可以提示吗?


更新1:以下是指向whole project on GitHub的链接。


更新2:我现在发现当我重新启动rails server时,我第一次点击页面时也会收到错误。但是当我第二次加载页面(重新加载)时,它完美地工作。

1 个答案:

答案 0 :(得分:0)

发现问题。相当愚蠢的错误。在我的static_pages_controller.rb我有

  def home
    def home
      @micropost = current_user.microposts.build if signed_in?
    end
  end

非常感谢您的提示。