参考-http://en.wikipedia.org/wiki/Single_responsibility_principle
アプリケーションの1つのモジュールで元帳エントリを作成するテストシナリオがあります。実行できる3つの基本的なタスクがあります-
- 既存の元帳エントリを表形式で表示します。
- [作成]ボタンを使用して新しい元帳エントリを作成します。
- テーブルの元帳エントリ(最初のポインタで説明)をクリックして、次のページで詳細を表示します。このページの元帳エントリを無効にすることができます。
(各ページにはさらにいくつかの操作/検証がありますが、簡潔にするためにこれらに限定します)
そこで、3つの異なるクラスを作成することにしました-
- LedgerLandingPage
- CreateNewLedgerEntryPage
- ViewLedgerEntryPage
これらのクラスはそれらのページで実行できるサービスを提供し、Seleniumテストはこれらのクラスを使用して、アプリケーションを特定のアサーションを作成できる状態にします。
私が同僚と一緒にそれをレビューしていたとき、彼は圧倒され、すべてのために1つのクラスを作るように頼まれました。まだデザインがきれいだと感じていますが、単一責任の原則を使いすぎているのではないかと疑っています