[英]Assets folder in Android Studio Unit Test
我有一個Gradle項目,具有以下結構:
project/
src/
androidTest/
java/
main/
java/
res/
AndroidManifest.xml
build.gradle
現在我想添加一個使用資源(“原始”或“資產”)的單元測試。
我將我的資源放入project/androidTest/assets/test_file
並使用getContext().getResources().getAssets().open("test_file");
訪問它getContext().getResources().getAssets().open("test_file");
(在AndroidTestCase
)。
但是,這給了我一個FileNotFoundException
。 我怎樣才能解決這個問題?
看起來你正在嘗試創建一個檢測單元測試,因為你想在androidTest文件夾中創建它。
您可以在測試中使用這兩行中的一行來獲取上下文:
Context ctx = InstrumentationRegistry.getTargetContext();
這個將為您提供應用程序的上下文。 例如,您可以使用它來獲取src / main / assets中的資產。
Context ctx = InstrumentationRegistry.getContext();
這個將給你測試應用程序的上下文。 您可以使用它來獲取src / androidTest / assets中的資產
如果您想了解有關單元測試中資產的更多信息,可以閱讀這篇文章。 在這個github文件中你有一個例子。
我認為您使用錯誤的上下文(應用程序上下文而不是檢測上下文)使用:
getInstrumentation().getContext();
或者看看我在哪里做你想做的事情: https : //github.com/ligi/gobandroid/blob/master/android/src/androidTest/java/org/ligi/gobandroidhd/base/AssetAwareInstrumentationTestCase.java
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.