我想做一个测试,如果一个用户已经成功订阅后,在我的应用程序中的时事通讯形式。
我在Testing Mailchimp 3.0 and Gibbon 2.x with Rspec上发现了类似的问题,但没有人回应。
我在脑海中有一个解决方案,那就是使用来自gibbon的方法,比如gibbon.lists(list_id).members.retrieve,并检查用户是否存在于结果对象中。
发布于 2018-02-20 21:22:31
我不知道MailChimp的细节,但一般来说,你的应用程序会对新用户进行poll MailChimp的API,或者MailChimp会ping你的应用程序的端点来通知它。
在任何情况下,您都可能希望使用像https://github.com/vcr/vcr这样的东西来记录MailChimp的响应并对其进行测试。
第一种情况下的(轮询)
您的测试将调用像这样的方法
MailChimpFacade.new_subscribers_since(last_time_you_checked_for_subscribers)
您可以模拟该方法,以返回数据(一个订阅者、零个订阅者、多个订阅者)。
第二种情况下的 (ping)
当MailChimp向您的控制器发送请求时-使用此类录像机有效负载并将其发送到控制器进行测试。
这是一个大概的想法。
还有其他的考虑因素:当MailChimp不可用时会发生什么,当它返回胡言乱语时等等-你可能也想使用上面描述的技术对它进行测试。
https://stackoverflow.com/questions/48885791
复制相似问题