簡體   English   中英

Android Studio Unit Test中的Assets文件夾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM