首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自RSpec/Capybara测试的奇怪错误-从控制器调用create在测试检查之前没有完成。

来自RSpec/Capybara测试的奇怪错误-从控制器调用create在测试检查之前没有完成。
EN

Stack Overflow用户
提问于 2013-07-20 01:51:50
回答 1查看 168关注 0票数 0

下面是测试的主要部分:

代码语言:javascript
复制
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

现在,第一个测试返回一个错误:

代码语言:javascript
复制
Failure/Error: @user.energy_levels.should_not be_empty
   expected empty? to return false, got true

但是,如果我在click_button "Submit"和第一个测试之间放入一条binding.pry行,整个测试就会通过。

“提交”将选定的能级发送到它的控制器并创建它。

在运行第一个测试之前,create方法看起来并没有完成,但是当加入binding.pry时,它为测试提供了完成该方法的时间。还有没有其他人遇到这个问题/有解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-20 02:26:56

我在click_button "Submit"后面添加了一行page.should have_content("Success")代码,解决了这个问题。我猜这确保了在检查数据库之前先加载页面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17752480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档