在我的应用程序中注册时事通讯表单后,我想测试用户是否已成功订阅。
我发现了这个类似的问题Testing Mailchimp 3.0 and Gibbon 2.x with Rspec并且没有人回应。
我想到了一个解决方案,那就是使用长臂猿之类的方法gibbon.lists(list_id).members.retrieve
并检查用户是否存在于结果对象中。
在我的应用程序中注册时事通讯表单后,我想测试用户是否已成功订阅。
我发现了这个类似的问题Testing Mailchimp 3.0 and Gibbon 2.x with Rspec并且没有人回应。
我想到了一个解决方案,那就是使用长臂猿之类的方法gibbon.lists(list_id).members.retrieve
并检查用户是否存在于结果对象中。
我不知道 MailChimp 的详细信息,但一般来说,您的应用程序会轮询 MailChimp 的 API以获取新订阅者,或者 MailChimp 会ping 您的应用程序的端点以通知它。
在任何情况下,您可能都想使用https://github.com/vcr/vcr之类的东西来记录MailChimp 的响应并对此进行测试。
在第一种情况下(轮询)
您的测试会调用类似的方法
MailChimpFacade.new_subscribers_since(last_time_you_checked_for_subscribers)
您可以模拟该方法以返回数据(一个订阅者、零个订阅者、许多订阅者)。
在第二种情况下(ping)
当 MailChimp 向您的控制器之一发送请求时 - 使用此类 VCR 有效负载并将其发送到控制器以对其进行测试。
这是一个普遍的想法。
还有其他注意事项:当 MailChimp 返回乱码等时不可用时会发生什么 - 您可能还想使用上述技术对其进行测试。