如何修复Capybara / Cucumber运行过时的代码?

时间:2015-12-09 01:10:09

标签: ruby-on-rails phantomjs cucumber capybara poltergeist

我正在使用Cucumber和Capybara(使用poltergeist / phantomjs)测试一个功能。问题是我对代码所做的更改没有反映在测试中。我的测试失败了,因为我更改了链接的名称,如果我在测试中截取页面的屏幕截图,我可以看到它仍然显示旧的链接,但如果我导航到浏览器上的页面,它会显示正确的一。我从昨天起就试图解决这个问题而没有运气。我甚至不知道哪些代码与此处粘贴有关,是否有人遇到此问题或者对此有什么想法?

谢谢!

更新

我可以通过再次运行rails generate cucumber:install来解决此问题。这样做会更新测试页面。但后来我再次修改了页面,再一次测试结果已经过时,运行cucumber:install命令也没有帮助。

2 个答案:

答案 0 :(得分:1)

您是否正在使用Guard进行自动测试?尝试

spring stop

它会重新启动the doc预加载器。有时它无法更新测试代码/应用程序代码

答案 1 :(得分:0)

你应该运行rake assets:precompile RAILS_ENV=test,这将重新生成capybara将运行的代码。