我在我的安卓项目中使用了这个语句"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");