PowerMock testing - set static field of class

后端 未结 6 1981
孤独总比滥情好
孤独总比滥情好 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:46

    You can use getAllStaticFields and try to set them

    Example:

    YourFieldClass newValue;
    final Set fields = Whitebox.getAllStaticFields(YourClass.class);
            for (final Field field : fields) {
                if (YourFieldClass.class.equals(field.getType())) { // or check by field name
                    field.setAccessible(true);
                    field.set(YourClass.class, newValue);
                }       }
    

提交回复
热议问题