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 回答