我正在开发一个 Android 应用程序。它有相应的规范/测试应用程序。作为我的一些测试的一部分,我需要从我的资产文件夹中获取一个图像并为其计算 SHA-1。我可以计算SHA,只要我可以选择图像。由于测试在模拟器上运行;我不确定如何在我的测试中选择图像。
有谁知道,我该怎么做。有无 AssetManager 可能?任何想法都会有所帮助。
干杯-Priyank
我正在开发一个 Android 应用程序。它有相应的规范/测试应用程序。作为我的一些测试的一部分,我需要从我的资产文件夹中获取一个图像并为其计算 SHA-1。我可以计算SHA,只要我可以选择图像。由于测试在模拟器上运行;我不确定如何在我的测试中选择图像。
有谁知道,我该怎么做。有无 AssetManager 可能?任何想法都会有所帮助。
干杯-Priyank
我通过扩展来做到这一点ActivityInstrumentationTestCase2
,然后在设置中获取对活动的引用,最后获取AssetManager
.
public class Sha1Test
extends ActivityInstrumentationTestCase2<MyActivity> {
private AssetManager m_assetManager;
public Sha1Test() {
super("com.example.test", MyActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
MyActivity activity = this.getActivity();
m_assetManager = activity.getAssets();
}
@Override
public void testSomething() throws Exception {
InputStream stream = m_assetManager.open("myimage.png");
}
}
您需要在模拟器上将其作为 Android 单元测试运行,因为它取决于加载资产的主要活动。