Gui*_*ume 2 android unit-testing mockito powermockito
我正在尝试使用 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");
}
}
Run Code Online (Sandbox Code Playgroud)
因为我看到正在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.
Run Code Online (Sandbox Code Playgroud)
有什么办法可以模拟这个变量吗?
小智 6
ReflectionHelpers.setStaticField(Build.class,"MODEL", "Value-You-Want-Model-To-Be");
Run Code Online (Sandbox Code Playgroud)
我喜欢用 robolectric 来做这类事情,你可以使用上面的调用来模拟该领域
| 归档时间: |
|
| 查看次数: |
2886 次 |
| 最近记录: |