電子メールを検証するテストを並行して実行するためのソリューション

Aug 18 2020

メールボックスから認証コードを読み取り、それを使用してログインするテストがあります。そのためにGmailAPIを使用します。

並行して実行されるいくつかのそのようなテストが欲しいです。

ただし、2通のメールで異なるのはこの認証コードだけなので、メールを区別する方法がわかりません。

したがって、競合状態は次のようになります。

  1. test-1は00:00:00にメールを送信します
  2. test-2は00:00:01にメールを送信します
  3. email-1が到着するのに3秒かかります=> 00:00:03、
  4. email-2が到着するのに1秒しかかかりません=> 00:00:02
  5. test-1は、最初の未読の一致する電子メールを読み取り、それは電子メール2です。結果:認証コードが間違っています。

それで、ここでの私の質問は、そのような競合状態を回避し、電子メールを特定するための可能な解決策を考えていただけませんか?

ありがとうございました!

回答

1 AsiaWawrzyczek Aug 19 2020 at 02:08

これに異なる電子メールアカウントを使用しないのはなぜですか(もちろん、ユーザーが2回ログインしてコードを混合したり、2つのメッセージから適切なコードを使用したりする場合をテストしない場合など)。