2012-10-30 27 views
0

我有一个CSV文件可用于我的Android测试套件。不过,我不希望它可用于主应用程序。我将它保存在我测试项目的assets文件夹中。然后,我尝试从测试使用用于测试的Android资产

context.getAssets().open(DATA_ASSET); 

其中DATA_ASSET被声明为

DATA_ASSET = "cards.csv" 

我设置context指哪我测试的活动来访问它。然而,这显然不会像我这样做,因为它会查看主应用程序的资产。我看到两种可能性来解决这个问题:

  1. 提供正确的路径,采用的测试项目
  2. 安装了资产获得一个Context是指测试项目的资源和资产

我的天堂”没有找到任何方法来做这些呢。也许还有第三种解决方案,我没有想到。如何访问随测试项目一起安装的资产?

+0

这不是一个干净的修复,如果你继承'AndroidTestCase',但[这个答案](http://stackoverflow.com/a/8870318/357055)可能会帮助你为你的测试项目获得一个'Context'。 – acj

+0

@acj大部分我是继承ActivityInstrumentationTestCase2,但我的一些测试改为“ActivityUnitTestCase”的子类。 –

+0

[在Android junit测试用例中获取测试项目的上下文]的可能重复(http://stackoverflow.com/questions/8605611/get-context-of-test-project-in-android-junit-test-case) –

回答

1

如果你继承InstrumentationTestCase或类似的类,你可以通过执行获得的测试项目Context如下:

Context ctx = getInstrumentation().getContext();