如何从使用PowerMockRunner运行的android单元测试加载json文件?
我正在使用PowerMockRunner运行我的单元测试。我想从我的资产文件夹中加载一些固定的网络响应json文件 我正在使用此方法尝试获取文件如何从使用PowerMockRunner运行的android单元测试加载json文件?,android,json,unit-testing,mockito,powermock,Android,Json,Unit Testing,Mockito,Powermock,我正在使用PowerMockRunner运行我的单元测试。我想从我的资产文件夹中加载一些固定的网络响应json文件 我正在使用此方法尝试获取文件 private static File getFileFromPath(Object obj, String fileName) { ClassLoader classLoader = obj.getClass().getClassLoader(); URL resource = classLoader.getResou
private static File getFileFromPath(Object obj, String fileName) {
ClassLoader classLoader = obj.getClass().getClassLoader();
URL resource = classLoader.getResource(fileName);
return new File(resource.getPath());
}
我从我的类中调用这样的方法,该类的顶部有这些注释
@RunWith(PowerMockRunner.class)
@PrepareForTest(Network.class)
File file = getFileFromPath(this, "mock_response.json");
但是,当我计算这个表达式时
classLoader.getResource(".");
运行此测试时,它显示我当前在下面的目录中
/Users/tylerpfaff/Library/Android/sdk/platforms/android-23/data/res/
由于我在platforms资源目录中,所以我不可能成功地从项目的资源目录加载资源。要访问项目的资源目录,我需要做什么?您有两个选项:
- 尝试通过
classloader.getSystemClassLoader()
- 从已被PowerMock忽略的类中获取类加载器。默认情况下:
@PowerMockIgnore