下面是测试的主要部分:
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但是,如果我在click_button "Submit"和第一个测试之间放入一条binding.pry行,整个测试就会通过。
“提交”将选定的能级发送到它的控制器并创建它。
在运行第一个测试之前,create方法看起来并没有完成,但是当加入binding.pry时,它为测试提供了完成该方法的时间。还有没有其他人遇到这个问题/有解决方案?
发布于 2013-07-20 02:26:56
我在click_button "Submit"后面添加了一行page.should have_content("Success")代码,解决了这个问题。我猜这确保了在检查数据库之前先加载页面。
https://stackoverflow.com/questions/17752480
复制相似问题