如何用RSpec测试长臂猿?

时间:2018-02-20 12:55:48

标签: ruby-on-rails testing rspec mailchimp gibbon

我想测试用户是否在我的应用程序中以新闻稿形式注册后成功订阅了该文件。

我发现了类似的问题Testing Mailchimp 3.0 and Gibbon 2.x with Rspec,没有人回复。

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

1 个答案:

答案 0 :(得分:1)

我不知道MailChimp的详细信息,但一般情况下,您的应用会为新订阅者轮询MailChimp的API ,或者MailChimp ping您的应用& #39; s端点来通知它。

在任何情况下,您可能都希望使用类似https://github.com/vcr/vcr的内容来记录 MailChimp的响应并对其进行测试。

在第一种情况下(投票)

你的测试会调用类似

的方法

MailChimpFacade.new_subscribers_since(last_time_you_checked_for_subscribers)

您可以模拟该方法,返回数据(一个订阅者,零订阅者,许多订阅者)。

在第二种情况下(ping)

当MailChimp向您的某个控制器发送请求时 - 使用此类VCR有效负载并将其发送到控制器进行测试。

这是一个普遍的想法。

还有其他一些注意事项:当MailChimp返回乱码时不可用时会发生什么 - 您可能还想使用上述技术对其进行测试。