私たち全員が、さまざまなソースからの使用のために、静的メソッドのみを含むいくつかのユーティリティクラスを持っています。ここで、このコードのテストに向けて実行できる2つの方法があります。
アプローチ1:
ユーティリティクラス用に個別の単体テストを用意します。それらが呼び出されているところはどこでも、PowerMockなどのプロビジョニングが用意されているテストフレームワークを使用して相互作用を模擬します。これは基本的に、ユーティリティクラスをシステムの個別のコンポーネントとして扱い、個別にテストして保守する必要があります。
アプローチ2:
ユーティリティクラスの単体テストを記述しないでください。ただし、このユーティリティクラスと対話する他のコアクラス用に記述されたテストでは、その相互作用が発生します。これにより、このユーティリティクラスで記述されたコードがさまざまなユースケースに対して適切にテストされることが本質的に保証されます。何かが壊れた場合、他のコンポーネントのテストはそれをキャッチできるはずです。
どちらのアプローチが望ましいか、または他の方法でこれに取り組む方法があるかどうかについて、あなたの考えを共有してください。