web-dev-qa-db-ja.com

Googleは統合テスト用のテストユーザーを提供していますか

テストユーザーは、統合テストを行うのに非常に適しています。

Facebookを開発するとoauth有効なものをプログラムで作成できます テストユーザー そしてそれらをアプリケーションの実際のユーザーとして使用できます。実際のユーザーと同じように動作します。唯一の違いは、それらがサンドボックス化されていることです。

Googleはそのようなものを提供していますか?

彼らはすべてのサービスをoauth2に移行しているので、「実際の」ユーザーとの完全な統合テストを作成したいと思います。

現在、統合テストを手動で実行し、要求に応じてアプリケーションを承認しています。明らかに、このアプローチはCIや真に自動化されたテストには適していません。

私が見る唯一の代替手段は、テストでのみ使用される実際のアカウントを作成し、その資格情報を使用してSeleniumなどと相互作用することです。

他の選択肢?

30
Fabio

あなたは正しいです。GoogleはFacebookと同じようにテストユーザーAPIを提供していません。 2つの選択肢があると思います。

  1. あなたが述べたように「本物の」Googleユーザーを使用してください。これにより、Googleがこれらのアカウントをブロックしたり、実際のユーザーであるかどうかをテストするためのチェックを追加したりすると、問題が発生する可能性があります(電話による確認)。また、テストスクリプトを壊す可能性のあるA-Bテストも行います。

  2. Googleサービスの代わりにモックサードパーティを使用してください。これにより、一般的なoauth統合コードがテストされますが、実際のGoogleサービスに対するテストほど堅牢ではないことは明らかです。この方法は、モックサービスを制御することでより安定する可能性があります。

9
Mark Butler