0

テストの主要部分は次のとおりです。

it "should add an energy level correctly", :js => true do
  visit energy_tracking_path 
  find(".energy-4").click
  click_button "Submit"

  @user.energy_levels.should_not be_empty
  @user.energy_levels.last.level.should be_equal(4)  
  @user.energy_levels.last.date.should be_present

end

現在、最初のテストでエラーが返されます。

Failure/Error: @user.energy_levels.should_not be_empty
   expected empty? to return false, got true

ただし、最初のテストとのbinding.pry間に線をclick_button "Submit"引くと、すべてがパスします。

「送信」は、選択したエネルギーレベルをコントローラーに送信し、作成します。

create最初のテストが実行される前にメソッドが終了していないように見えますが、binding.pry挿入されると、メソッドを終了するテスト時間が与えられます。他の誰かがこの問題に遭遇しましたか/解決策がありますか?

4

1 に答える 1

0

page.should have_content("Success")の直後に行を追加して問題を修正しましたclick_button "Submit"。これにより、データベースをチェックする前にページが最初に読み込まれることが保証されると思います。

于 2013-07-19T18:26:56.297 に答える