Abd*_*lah 12 resources android android-resources android-testing
我想将layout xml文件添加到我的androidTest文件夹中,仅用于测试.
我添加了res/layout文件夹androidTest并尝试向其添加布局文件.但它给错误URI is not registered的xmlns:android="http://schemas.android.com/apk/res/android"
不知何故,该项目不会将其识别为有效的布局文件.
添加xml资源很棘手androidTest.
Android Instrumentation测试创建另一个APK以针对原始应用程序运行测试.虽然您可以Context从主应用程序访问您的和对象,但您无法修改应用程序生成的APK文件.
这意味着您无法从androidTest文件夹中的测试将其他布局xml添加到原始应用程序中.
或者,
buildType被叫espresso.espresso文件夹,您可以在其中放置要添加的任何Java或Android资源.
AndroidManifest那里.testBuildType 'espresso'你build.gradle应该看起来像这样:
android {
testBuildType 'espresso'
buildTypes {
espresso.initWith(buildTypes.release)
}
}
dependencies {
espressoCompile 'somedependency' // you can even have special dependencies
}
Run Code Online (Sandbox Code Playgroud)
当您围绕该风格运行espresso测试时,您将可以访问您添加的其他布局xml文件.
应该是这样的:
这很简单!通常,您应该将资源放在src/androidTest/res文件夹下。那就是!然后,您可以在src/androidTest/java文件中使用它。是的,你不能使用测试在生产APK的布局,但您可以在您的测试APK使用测试布局。
有些问题可能会使您感到困惑。例如,自动补全并非经常都能很好地起作用,但是无论如何,它会建立并起作用。
最近我写了自定义的控制掩盖的EditText,所以我不想把任何活动的进库,但我想有一个活动检查的观点和我想从XML它充气。您可以在github页面上看到整个代码,这是一些关键时刻:
$ tree androidTest/
androidTest/
??? AndroidManifest.xml
??? java
? ??? ru
? ??? egslava
? ??? lib_phone
? ??? MainActivityTest.java
? ??? TestActivity.java
? ??? actions
? ??? HintViewAction.java
? ??? KeepHintViewAction.java
? ??? SetTextViewAction.java
??? res
??? layout
? ??? activity_main.xml
??? values
??? styles.xml
Run Code Online (Sandbox Code Playgroud)
所以,你可以看到,androidTest下有某种有自己的清单单独的项目,登记活动等等:-)我会分享更多的文件,但它只是一个项目,没有更多的,你总是可以看一下链接。
唯一的事情,我想提醒你,你应该准备的是Android的工作室会告诉你,你的项目包含错误,即使这不是真的:-)祝你好运!
| 归档时间: |
|
| 查看次数: |
3479 次 |
| 最近记录: |