我正在尝试使用Mockito/PowerMockito创建一个测试,其中我们使用android.os.Build.MODEL
的值。我试过使用:
@RunWith(PowerMockRunner.class)
@PrepareForTest({android.os.Build.class})
public class Test {
@Before
public void init() {
PowerMockito.spy(android.os.Build.class);
PowerMockito.doReturn("model").when(Build.class, "getString", "ro.product.model");
}
}
因为我看到Device.MODEL
正在调用private static String getString
方法,但我得到以下异常:
org.powermock.reflect.exceptions.MethodNotFoundException: No method found with name 'getString' with parameter types: [ java.lang.String ] in class android.os.Build.
有没有办法模拟这个变量?
ReflectionHelpers.setStaticField(Build.class,"MODEL", "Value-You-Want-Model-To-Be");
我喜欢这种事情的机器人,你会使用上面的调用来模拟这个领域