一般的なコンセンサス
複雑なクラスとプライベートメソッドのテストについては、かなり多くのことを読みました。
一般的なコンセンサスは次のようです。
- 「プライベートメソッドをテストする必要がある場合は、クラスの設計が不適切です」
- 「クラスが複雑な場合は、それを分離する必要があります」
だから、私はあなたの助けが必要です。
問題のあるクラス
だから私は比較的単純なクラスを持っており、その長期的な仕事は次のとおりです。
- データソースをポーリングする
- データの非常に単純なマッピングを行う
- そのデータを別の場所に送信します
さらに:
- 特定のエラーが発生した場合にさまざまなタスクを再試行できるようにすることで、フォールトトレラントに対応できる必要があります。
テストの問題
このクラスのポイントは、フォールトトレランスとスレッド化の多くを抽象化することです...基本的には、単純なタイマークラスといくつかの内部リストを使用してエラーなどを追跡します。
タイマーのため、特定のメソッドは異なるスレッドで非同期に呼び出されます...さらに、多くのメソッドはグローバルプライベートフィールドに依存しています。
このクラスをどのようにテストする必要がありますか...特に非常に多くのメソッドがプライベートであるためですか?
みんな乾杯