如何在安卓单元测试中模拟资源类以获得缩放密度



我在我的安卓项目中使用了这个语句"ResourceResources.getSystem().getDisplayMetrics().scaledDensity",以获得缩放的密度。当我编写单元测试时,它说应该模拟资源类。但是当我尝试模拟时,android 会给我一个错误 getSystem() 方法在资源中没有被嘲笑。

回答为时已晚,但我会把它留在这里:)

我这样做是为了

Resources.getSystem().getStrings();

我认为这可以适应具体情况

ResourceResources.getSystem().getDisplayMetrics().scaledDensity

我也被这件事困扰了,我这样做了,希望它有帮助

 PowerMockito.mockStatic(Resources.class,RETURNS_MOCKS);
 Resources res=Mockito.mock(Resources.getSystem().getClass());
 PowerMockito.when(Resources.getSystem()).thenReturn(res);
 Mockito.when(res.getString(Mockito.anyInt())).thenReturn("any_message");

最新更新