簡體   English   中英

跟隨ruby.railstutorial.org/並通過失敗的測試

[英]following ruby.railstutorial.org/ and getting failing test

我正在使用Ruby 1.9.2和Rails 3.0.3

我在本教程中不斷遇到失敗的測試錯誤,例如:

1) UsersController GET 'show' should show the user's micropost
 Failure/Error: get :show, :id => @user
 undefined method `model_name' for NilClass:Class
 # ./app/views/users/show.html.erb:10:in `_app_views_users_show_html_erb__2659465448390875355_2173812560_4463455946834160058'
 # ./spec/controllers/users_controller_spec.rb:39:in `block (3 levels) in <top (required)>'

show.html.erb:10是:

<% unless @user.microposts.empty? %>
    <table class="microposts" summary="User microposts">
        <%= render @microposts %>   #line 10
    </table>
  <%= will_pagination @microposts %>
<% end %>

users_controller_spec.rb:39:

describe "GET 'show'" do
before(:each) do
@user = Factory(:user)
end
.
.
.
it "should show the user's micropost" do
mp1 = Factory(:micropost, :user => @user, :content => "Foo bar")
mp2 = Factory(:micropost, :user => @user, :content => "Baz quux")
get :show, :id => @user
response.should have_selector("span.content", :content => mp1.cntent)
response.should have_selector("span.content", :content => mp2.content)
end

而我的app / controllers / users_controller.rb在哪里定義了微博:

  def show
     @user = User.find(params[:id])
     @microposts = @user.microposts.paginate(:page => params[:page])
     @title = @user.name
  end

任何幫助將不勝感激。 我總共有14個錯誤。 我的其他錯誤是關於

 Failure/Error: get :edit, :id => @user
 @controller is nil: make sure you set it in your test's setup method.

Failure/Error: test_sign_in(wrong_user)
 undefined method `sign_in' for nil:NilClass

我也使用廠作為試驗的跡象。林不知道這可能是一個問題。 我之所以這樣說是因為一些錯誤是:

  9) authentication of edit/update pages GET 'index' for signed-in users should have the right title
 Failure/Error: @user = test_sign_in(Factory(:user))
 Validation failed: Email has already been taken
 # ./spec/controllers/users_controller_spec.rb:222:in `block (4 levels) in <top (required)>'

如果您需要查看更多代碼,請告訴我。

如果有人能告訴我去了解更多關於調試的地方,這將是一個很大的幫助,以及。

對於錯誤1,請嘗試檢查文件名的拼寫和大小寫。
對於錯誤9,請嘗試再次檢查將代碼粘貼到其中。
該教程的工作代碼可以在這里https://github.com/railstutorial

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM