Тест интеграции Rspec (включающий флажок) не пройдет - PullRequest
0 голосов
/ 03 июня 2011

Я работаю над целевым приложением, где пользователь может установить флажок рядом с целью, чтобы отметить его как завершенное. Я написал тест для этой функциональности, но что-то не совсем правильно, потому что он продолжает давать сбои. В конце концов я сыт по горло и просто написал код, который работает, но тест по-прежнему не проходит. Я все еще изучаю Rspec, поэтому любой совет, который вы могли бы дать мне, был бы полезен.

Тест

# @user has already been signed in

describe "completing a goal" do

  before(:each) do
    @goal = Factory(:goal, :user => @user)
  end

  it "should set 'completed' attribute to true" do
    visit edit_goal_path(@goal)
    check('goal_completed')
    click_button('goal_submit')
    @goal.completed.should be_true
  end
end

Результат

Failures:

1) Goals completing a goal should set 'completed' attribute to true
 Failure/Error: @goal.completed.should be_true
   expected nil to be true
 # ./spec/requests/goals_spec.rb:81:in `block (3 levels) in <top (required)>'

1 Ответ

1 голос
/ 03 июня 2011

Если вы хотите, чтобы это был интеграционный тест, было бы лучше, чтобы ваше утверждение касалось содержимого страницы.Что-то вроде:

assert_text "Goal met on 1/1/2011"

Если вы хотите придерживаться утверждений модели, я почти уверен, что вам просто нужно перезагрузить: @goal.reload.completed.should be_true

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