Capybara+Rspec+Rails3.1 资产在第一次请求后不再被请求

发布于 2024-11-16 08:18:41 字数 353 浏览 1 评论 0原文

我正在使用 capybara+rspec 在 Rails 3.1 应用程序上测试我的请求,我有两个场景做完全相同的事情,无论第一个执行的那个通过,第二个永远不会通过,除非我将 config.cache_classes 设置为 false,我意识到,当在第二种情况下将其设置为 true 时,第一次请求资产后就不会再请求它们。

所发生的情况是,资产的第一个请求通常在第一次需要它们时发生,当对需要已加载资产的页面有第二个请求时,没有对它们的请求,当 Rails 位于开发环境中时,它们会被请求,并且如果已经有缓存的 Rails 返回 304。除非将 cached_classes 设置为 false,否则在测试环境中不会发生这种情况,这会破坏我的所有其他测试并使测试套件非常慢。

I'm using capybara+rspec to test my requests on a rails 3.1 application, I have two scenarios doing the exact same thing, no matter what the one thats executed first passes the second never passes unless I have config.cache_classes set to false, I realized that when it is set to true on the second scenario the assets are not being requested after they are requested the first time.

What happens is that the first request of the assets happens normally when they are first needed, when theres a second request to a page that requires the assets already loaded there is no request to them, when rails is on development environment they are requested and if there are already cached rails returns a 304. This is not happening on test environment unless cached_classes is set to false, which breaks all my other tests and makes the test suite really slow.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文