这里是测试的主要部分:
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
放入时,它给了测试时间来完成该方法。有没有其他人遇到这个问题/有解决方案?