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)

そして、そのメソッドをモックして、データを返すことができます (1 人のサブスクライバー、0 人のサブスクライバー、多数のサブスクライバー)。

2 番目のケース (ping)

MailChimp がコントローラーの 1 つにリクエストを送信するとき - そのような VCR ペイロードを使用し、それをコントローラーに送信してテストします。

それは一般的な考えです。

他の考慮事項もあります: MailChimp が意味不明な内容を返したときに利用できない場合はどうなるかなど - 上記の手法を使用してそれに対してテストすることもできます。

于 2018-02-20T13:22:30.820 に答える