PowerMock testing - set static field of class

后端 未结 6 1985
孤独总比滥情好
孤独总比滥情好 2020-12-08 00:30

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;         


        
6条回答
  •  清歌不尽
    2020-12-08 00:43

    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 );
    

提交回复
热议问题