4

在我的应用程序中注册时事通讯表单后,我想测试用户是否已成功订阅。

我发现了这个类似的问题Testing Mailchimp 3.0 and Gibbon 2.x with Rspec并且没有人回应。

我想到了一个解决方案,那就是使用长臂猿之类的方法gibbon.lists(list_id).members.retrieve并检查用户是否存在于结果对象中。

4

1 回答 1

2

我不知道 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 返回乱码等时不可用时会发生什么 - 您可能还想使用上述技术对其进行测试。

于 2018-02-20T13:22:30.820 回答