Samen auf Mathe.random()
Schreiben brauche ich einige junit-tests auf Java-code aufruft Math.random()
. Ich weiß, dass ich einstellen kann die Samen, wenn ich war instanziieren mein eigenes Random-Objekt zu erzeugen wiederholbare Ergebnisse. Gibt es eine Möglichkeit, dies auch für Math.random()
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Methode
Math.random()
verwendet ein privates statisches Feld:Wenn Sie wirklich brauchen einen
new Random(CONSTANT_SEED)
(zum Beispiel müssen Sie JUNit-test-code, die Sie haben keine Kontrolle über Sie) Sie könnten dies tun, indem Sie Reflexion.RandomNumberGeneratorHolder
Klasse in Mathematik, dann hält einen static finalRandom
.Kreieren Sie eine Instanz von
Random
selbst und die Verwendung dieser statt?Math.random()
erstellt und verwendet, die, so glaube ich nicht, dass Sie Durcheinander mit den Samen. Wenn Sie eineRandom
und es direkt benutzen, Sie können aber die Samen, die, wenn Sie es schaffen, und/oder rufen SiesetSeed()
auf es später.Legen Sie es mit der Instanz von Random mit eurem Samen oder nur die Erweiterung der Methoden, die Werte zurückgeben, die Sie brauchen