【发布时间】:2015-05-22 01:42:00
【问题描述】:
在我的公司,我们使用 Rails + Sidekiq 来引导我们的用户。当他们第一次登录时,我们通过一个数据管道为他们提供数据,该管道解析/聚合他们的数据,并调用外部 API。当一个工作人员完成时,它会为该用户在管道中排队下一个阶段。
我想改进我们的管道,因为(在某些情况下它很容易阻塞/饿死)。但我不想推广到生产环境,而是想创建一个本地环境,我可以在其中测试任意修改和用例——这就是这个问题的全部内容。具体来说,我想:
- 创建一个在 Sidekiq 行为方面近似于生产的开发环境
- 知道工人排队的顺序将类似于(如果不匹配)生产
- 对外部服务的虚假/模拟调用
- 测试任意情况,例如
- 1、10、1000 人同时注册等
- 外部服务的响应时间和可靠性从低到高差异
- 量化工作人员绩效以比较结果 - 启动时间、花费时间、空闲/阻塞时间
根据我的搜索,现在我正在考虑使用 rspec 来运行我的任意测试用例,并使用 FactoryGirl 来模拟外部请求(伪造响应数据和改变响应时间)。我不知道这是否是一个好方法。谢谢
【问题讨论】:
标签: ruby-on-rails rspec factory-bot sidekiq