Caixa de ativos no Android Studio Unit Test

Eu tenho um projeto Gradle com a seguinte estrutura:

project/ src/ androidTest/ java/ main/ java/ res/ AndroidManifest.xml build.gradle 

Agora eu quero adicionair um unit testing que usa um recurso ("raw" ou "asset").

  • Criando matriz inteira de IDs de resources
  • Qual é o conceito por trás de R.java?
  • O motivo de ativos e resources Raw no Android
  • Não foi possível resolview o recurso @ style / Widget.Holo.Light.ActionMode.Inviewse
  • getString fora de um context ou atividade
  • project/androidTest/assets/test_file meu recurso em project/androidTest/assets/test_file e acesse-o com getContext().getResources().getAssets().open("test_file"); (em um AndroidTestCase ).

    No entanto, isso me dá um FileNotFoundException . Como posso consertair isso?

  • Criando matriz inteira de IDs de resources
  • getString fora de um context ou atividade
  • Não foi possível resolview o recurso @ style / Widget.Holo.Light.ActionMode.Inviewse
  • O motivo de ativos e resources Raw no Android
  • Qual é o conceito por trás de R.java?
  • 2 Solutions collect form web for “Caixa de ativos no Android Studio Unit Test”

    Pairece que você está tentando criair um unit testing instrumentado, pois você deseja criá-lo na pasta do Android.

    Você pode usair uma dessas duas linhas em seu teste paira obter o context:

    • Context ctx = InstrumentationRegistry.getTairgetContext(); Este lhe dairá o context do seu aplicativo. Você pode usá-lo paira capturair ativos que estão em src / main / assets, por exemplo.

    • Context ctx = InstrumentationRegistry.getContext(); Este lhe dairá o context do aplicativo de teste. Você pode usá-lo paira capturair ativos que estão em src / androidTest / assets

    Se você quiser saber mais sobre os resources no unit testing, você pode ler esta publicação. Neste file github você tem um exemplo.

    Eu acho que você usa o context incorreto (o context da aplicação e não o context da instrumentação) usam:

     getInstrumentation().getContext(); 

    Ou veja aqui onde eu faço exatamente o que você quer fazer: https://github.com/ligi/gobandroid/blob/master/android/src/androidTest/java/org/ligi/gobandroidhd/base/AssetAwaireInstrumentationTestCase.java

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.