私の静的メソッドは、「ヘルパー」の種類(例convertToCamelCase()
)または「シングルトンの取得」の種類(例:)のいずれかですgetInstance()
。いずれにせよ、私は彼らがヘルパークラスに住んでいることを嬉しく思います。
ヘルパークラスは広く利用可能である必要があるため、レイヤースーパータイプにロードしています。今、私が見る限り、ヘルパーをスーパータイプに注入できるという条件で、コードのテストに対して完全な柔軟性を維持しています(ヘルパークラス自体を除く)。それは理にかなっていますか?それとも私は何かを見落としていますか?
別の見方をすると...コードのテストの難しさは、静的メソッド自体の実際の数ではなく、静的メソッドの呼び出しの数に比例して増加するように思われます。これらすべての呼び出しを1つのクラス(私のヘルパー)に入れ、そのクラスをモックに置き換えることで、静的呼び出しや関連する問題のないコードをテストしています。
(私は自分のシングルトンを取り除くことに向けて取り組むべきだと理解していますが、それはより長期的なプロジェクトになるでしょう)。