I'm having difficulty finding a way to set a static field of a class. It's basically like this:
public class Foo{
// ...
private static B b = null;
}
where B is another class.
Is there any way to do this in PowerMock other than with setInternalStateFromContext()
? Using the context class method seems a bit of overkill for setting one field.
Thanks.
Whitebox.setInternalState(Foo.class, b);
Works as long as you set a non-null value, and if theres only one field with the class of B
. If you can't rely on that luxury, you have to provide the field-name and cast the null
to the type you want to set. In that case you would need to write something like this:
Whitebox.setInternalState( Foo.class, "b", (B)null );