java.util.Random が mockito でモックできないとき
ExponentialBackoffTest > test() FAILED
org.mockito.exceptions.base.MockitoException:
Mockito cannot mock this class: class java.util.Random.
Mockito can only mock non-private & non-final classes.
If you're not sure why you're getting this error, please report to the mailing list.
Java : 17
JVM vendor name : Eclipse Adoptium
JVM vendor version : 17.0.2+8
JVM name : OpenJDK 64-Bit Server VM
JVM version : 17.0.2+8
JVM info : mixed mode
OS name : Mac OS X
OS version : 12.3
こういうエラーがでていた。
ネットを探すと --add-opens
をつけろという記事が多いのだが、実はmock(Random.class, withSettings().withoutAnnotations())
とすれば良いようだ。
問題が起きていた pyroscope-java については、PR を出して修正済み。 https://github.com/pyroscope-io/pyroscope-java/pull/26