UsersController GET 'index' для зарегистрированных пользователей должен иметь элемент для каждого пользователя - PullRequest
0 голосов
/ 23 февраля 2012

Я нахожусь в разделе 10.3.1 «Индекс пользователя» учебника по Ruby on Rails 3. У меня есть один тест, который отказывается пройти, и я тщательно исследовал ошибку и, похоже, не смог ее пройти.

Вот ошибка: 1) UsersController GET 'index' для зарегистрированных пользователей должен иметь элемент для каждого пользователя Ошибка / Ошибка: response.should have_selector ("li",: content => user.name) NoMethodError: неопределенный метод name' for nil:NilClass # ./spec/controllers/users_controller_spec.rb:39:in блок (5 уровней) в ' # ./spec/controllers/users_controller_spec.rb:38:in each' # ./spec/controllers/users_controller_spec.rb:38:in блок (4 уровня) в '

Я попытался проверить, чтобы пользователь возвращал объект вместо массива ... это так. Я проверил свои методы sign_in и test_sign_in. Я, вероятно, могу двигаться дальше, но неудачные тесты сводят меня с ума.

Вот мой код users_controller_spec.rb: опишите "для зарегистрированных пользователей" do

        before(:each) do
            @user   = test_sign_in(Factory(:user))
            second  = Factory(:user, :name => "Bob", :email => "another@example.com")
            third   = Factory(:user, :name => "Ben", :email => "another@example.net")

            @users  = [@users, second, third]
        end

        it "should be successful" do
            get :index
            response.should  be_success
        end

        it "should have the right title" do
            get :index
            response.should have_selector("title", :content => "All users")
        end

        it "should have an element for each user" do
            get :index
            @users.each do |user|
                response.should have_selector("li", :content => user.name)
            end
        end
    end
end

Пожалуйста, помогите !!!

1 Ответ

1 голос
/ 29 мая 2012

Я на самом деле только что решил это. В моем коде для @ users = [@user, второй, третий] я написал @user с ошибкой @ users

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...