SuppressStaticInitializationFor
If you are working with classes which have static initializers such as:
As mHandler
belongs to ClassWithStaticInitializer.class
not instance of ClassWithStaticInitializer
, JVM will initialize this mHandler
as soon as execution starts, thus we will not get a chance to mock it with whenNew()
. In this case, we can suppress its initialization and later set its value with Whitebox
.
Here is an example to suppress mHandler
in ClassWithStaticInitializer.class
:
tip: if you see any error with StackTrace containing similar looking line com.examlpe.ExampleClass.<clinit>
. It means there is an static initializer, just add com.examlpe.ExampleClass
in your SuppressStaticInitializationFor
annotation.
Last updated