私たちのアプリは複数の種類のアカウントをサポートしているため、多くのテストはすべての種類のアカウントで繰り返されます。
ただし、一般的なパターンでは、最初の手順は各アカウント タイプで同じですが、途中で各アカウント タイプの固有の側面のいくつかをテストしたいと考えています。1 つのテストの概要を次に示します。
all_account_types.each do |account_type|
- 特性 account_type でアカウント ファクトリを作成する
- アカウントのマネージャ ファクトリを作成する
- 5 人の工場がそのアカウントにオプトイン
- 1 人がオプトアウト
- マネージャーがブロードキャストを作成して送信する
- 1つのオプトアウトはメッセージを受け取りません
- 4 つのオプトインがメッセージを受け取ります
- メッセージの形式を確認します (アカウントの種類によって異なります)。
最後のテストが問題です...実行するテストはアカウントの種類によって異なります...現在、テストを実行するif account_type==X then Y.should include(Z)
限り機能するというロジックがテスト内にありますが、より良いでしょう