我正在处理的一个项目从第 3 方服务获取数据并将其与我的应用程序的特定信息一起缓存在本地。
我的环境:
- 我针对服务的搜索 API 提供搜索机制。
- 当用户第一次浏览商品页面时,我的服务器从服务中获取信息并存储
- 在后续请求中,浏览器只从我的服务器请求信息
.. 但是.. 我希望来自第 3 方服务的信息保持最新。
我的计划(欢迎反馈!)
- 在页面加载后的后续请求中,一些 JS 将 ping 第三方服务以检查更新
- 如果该项目已更新,则将更新推送到我的复制服务器端
如何测试这个?
当我编写 Controller 规范时,我认为页面的 javascript 没有被执行(从服务中获取更新后的项目)
我在尝试描述这一点时遇到了很多麻烦,因此图表可能会有所帮助。
我使用的技术:Rails/RSpec/Factory Girl/JQuery
最佳答案
让我们跳出框框来解决这个问题。
当页面被请求时,你能从后端访问第 3 方服务吗?然后删除对 JavaScript 的依赖。
还有一些其他方法比这更好,比如将“更新项目信息”操作放入队列中,然后在后端后台处理它。这将使第 3 方服务不会减慢您的网站速度。
关于ruby-on-rails-3 - 如何测试需要javascript才能完成的场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7577716/