我编写了一些使用XML文件的测试。我有两个项目,一个是代码,另一个是测试。我想在测试项目中存储这些XML文件(它们包含测试期间使用的一些数据(。但这是不可能的,因为似乎只有src项目中的文件才能加载到设备中。有人知道解决这个问题的方法吗?
假设您在android项目和测试项目中都有assets文件夹,并将XML文件放在assets文件夹中。在测试项目下的测试代码中,这将从android项目资产文件夹加载xml:
getInstrumentation().getTargetContext().getResources().getAssets().open(testFile);
这将从测试项目资产文件夹加载xml:
getInstrumentation().getContext().getResources().getAssets().open(testFile);
确保您的TestCase类扩展android.test.InstrumentationTestCase
而不是android.test.AndroidTestCase
来访问this.getInstrumentation()
方法。