私の Java アプリケーションでは、さまざまな場所で多数の乱数を生成する必要があります。単体テスト中に定数を生成するモック オブジェクトに置き換えることができるように、アプリケーションがファクトリ クラスから java.util.Random オブジェクトを取得するように細心の注意を払っています。しかし、生成された乱数のシーケンスが特定のパターンである場合にのみ分岐の一部に到達できるため、それでも満足のいく単体テスト戦略ではありません。
java.util.Random が関係しているが、決定論的な方法で数値が返される方法を制御したい場合、どのように単体テストを行うべきですか? Mock java.util.Random で返す乱数の特定のシーケンスをハード コーディングすることは、まだあまり満足のいくものではありません。私のアプリケーションの無関係なメソッドの乱数。